5
나는 이것이 매우 기본적인 것, 아마도 당황스러운 질문이라는 것을 알고 있지만 이것을 이해하는 데 문제가 있습니다. 내가 std :: 스택에서 다른 객체로 이동하면 원본이 범위를 벗어날 때 다른 객체를 계속 사용할 수 있습니까?std :: stack 객체에서 이동
#include <iostream>
#include <string>
int
main(int argc, char* argv[])
{
std::string outer_scope;
{
std::string inner_scope = "candy";
outer_scope = std::move(inner_scope);
}
std::cout << outer_scope << std::endl;
return 0;
}
outer_scope는 여전히 인쇄 할 위치에서 유효합니까?
물론 가능합니다. 이동 생성자/할당의 전체 요점은 일시적인 내용을 훔치는 것입니다. 임시로 생성 된 객체가 사용되지 않으면이 객체를 사용할 수 없다면 꽤 쓸모가 없습니다. –
무언가를 움직인다면, 무언가를 옮긴다는 것이 이제는 통제를 받았다는 것을 의미하며, 더 이상 통제하지 못했던 것을 의미합니다. – NathanOliver
물론 이것은 – MikeMB