비용 확인
복사 비용이 큰 자원 소유 객체인지 먼저 확인한다.
필요한 곳에만이동 의미론은 비싼 복사를 피하지만, moved-from 객체가 여전히 파괴 가능하고 대입 가능한 상태여야 한다. lvalue/rvalue, 이동 생성자, noexcept, self-move를 함께 확인한다.
복사 비용이 큰 자원 소유 객체인지 먼저 확인한다.
필요한 곳에만std::move는 객체를 rvalue로 캐스팅할 뿐 실제 이동은 생성자/대입자가 수행한다.
자원 이전대상은 포인터나 핸들을 가져가고 원본은 안전한 빈 상태로 남긴다.
double free 방지move constructor가 noexcept이면 vector가 재할당 시 이동을 선택하기 쉽다.
성능 영향