В C++11
мы можем передать право собственности на объект на другой unique_ptr
, используя std::move()
. После передачи прав собственности смарт-указатель, который уступил собственности, становится null
и get()
возвращает nullptr.
std::unique_ptr<int> p1(new int(42));
std::unique_ptr<int> p2 = std::move(p1); // Transfer ownership
Каковы ситуации, когда это будет полезно, поскольку оно переносит право собственности на другой unique_ptr
?