STL 标准库提供的std::list
和Boost库提供的boost::ptr_list
有什么区别吗?
答案 0 :(得分:1)
如果您查看boost::ptr_list
documentation,它会显示:
ptr_list<T>
是一个指针容器,它使用基础的std:list<void*>
存储指针。还应注意,
boost:ptr_list
和std::list
一样拥有它包含的对象。因此,ptr_list
会在某个时刻调用指针的删除。
也就是说,界面非常简单:
ptr_list
API具有push_front(T*)
,push_front(appropriate-smart-pointer-type<U> p)
,并且还继承自ptr-sequence-adapter
以提供更多功能。
std::list<>
提供了一个稍微更现代的界面,其中包括移动语义,但在其他方面是相同的-请参见cppreference docs