4
복사 한 다음 이동하는 이유는 무엇입니까?
누군가가 객체를 복사하여 클래스의 데이터 멤버로 옮기기로 결정한 코드를 보았습니다. 이로 인해 이동의 요점이 복사를 피하는 것이라고 생각했기 때문에 혼란 스러웠습니다. 다음은 그 예입니다. struct S { S(std::string str) : data(std::move(str)) {} }; 내 질문은 다음과 같습니다. 왜 우리는 rvalue 참조를받지 str않습니까? 사본은 특히 비싸지 std::string않습니까? 저자가 사본을 만들고 이동하기로 …