std::unique_ptr - cppreference.comhttps://zh.cppreference.com/w/cpp/memory/unique_ptrunique_ptr对象始终是关联的原始指针的唯一所有者。我们无法复制unique_ptr对象,它只能移动,所以叫 unique_ptr 。
unique_ptr 在智能指针变量赋值方面比 auto_ptr 安全,不允许赋值给另一个 unique_ptr。
unique_ptr<string> pu1(new string ("hello world"));
unique_ptr<string> pu2;
pu2 = pu1; // 不允许
unique_ptr<string> pu3;
pu3 = unique_ptr<string>(new string ("You")); // 允许
参考这篇详细的博客: