vec1
lvalue라서 그대로 넘기면 복사 후보입니다.
std::move는 이동이 아니라 “이동 가능” 표시
이름 있는 객체를 xvalue처럼 보이게 만들고, 실제 자원 이전은 이동 생성자나 이동 대입 연산자가 맡습니다.
vec1
lvalue라서 그대로 넘기면 복사 후보입니다.
std::move(vec1)
객체를 xvalue로 캐스팅합니다.
MyVector(MyVector&&)
이동 생성자/대입이 있으면 그쪽이 선택됩니다.
pointer → target
포인터나 핸들이 새 소유자로 넘어갑니다.
핵심
std::move 자체는 포인터를 바꾸지 않습니다. “가져가도
된다”는 신호를 보낼 뿐입니다.