std::unique_ptr<T>与boost::scoped_ptr<T>的底层实现原理类型,不清楚是谁"借鉴"另一个的实现的,但这不重要。
std::unique_ptr<T>与boost::scoped_ptr<T> 都禁用了拷贝构造和赋值函数,所以不能作为STL容器中的元素,要作为STL容器中的元素时,那么进行push_back()时要调用赋值函数,但是他们都禁用了拷贝构造和赋值函数,所以不能作为STL容器中的元素。
但是可以有另一种方法,使用std::move()。std::move()是将左值转换为右值。