[C++11 Overview] emplace, emplace_back

Book Review 2013. 4. 26. 11:33


vector 는 컨테이너 요소를 value 로 저장 하는데 auto_ptr 이나 unique_ptr 이나 value copy 가 안됩니다.
그래서 push_back 에서 에러가 발생하는데, std::move 를 통하여 rvalue 로 넘겨주거나 
인자를 rvalue 로 받아 해당 값을 파라미터로 받는 생성자를 컨테이너에서 바로 호출해 할당하도록 하는 
emplace 함수를 사용하면 됩니다. 
이 때, unique_ptr 은 std::move 를 통해서 명시적으로 넘겨줘야 합니다.


: