복사는 버퍼를 만들고, 이동은 소유자를 바꾼다

이동 시맨틱의 성능 이득은 큰 데이터를 다시 쓰지 않고 포인터나 핸들만 새 객체로 넘기는 데서 나옵니다.

복사: 데이터 전체 복제

source
buffer A
target
새 buffer B

cost 할당과 원소 복사가 함께 발생합니다.

이동: 자원 핸들 이전

source
data = nullptr
target
buffer A 소유

cheap 버퍼는 하나이고 소유권만 이동합니다.

안전 조건: 이동 후 원본 객체는 소멸 가능하고 재대입 가능한 상태로 남아야 합니다. 그래서 이동 생성자는 보통 원본 포인터를 nullptr로 정리합니다.