std::move()

예제 1 이를 그림과 함께 설명해보면, 1) 스택에 a가, 힙에 "Headless" 가 존재한다. 2) 스택에 string object b 가 올라가면서 move()를 통해서 b가 "Headless"를 가리키게 된다. (a의 소유권이 이전됨) 3) b를 출력하게 되면 "Healess"가 출력되고, 이후 a를 출력하게 되면 a는 아무 것도 가리키지 않기 때문에 출력값이 비어있게 된다. 즉, move() 키워드는 Lvalue를 Rvalue로 바꾸면서 resource ownership 을 다른 object에게 넘겨줄 수 있다는 것이다. 이 예제에서는 a가 가지고 있던 힙 공간에 "Headless"의 ownership을 move() 명령어를 통해서 b에 넘겨준 것이다. 예제 2 함수를 콜 했을 때 레퍼런스를 넘..
HeadlessCreator
'std::move()' 태그의 글 목록