常常把数据的指针保存在数组中,但是指针的释放,有时容易忘,有时确定不好在哪里释放,有时不知何时释放。所以最好用只能指针。
boost很早就有boost:ptr_vector ......等等。后来c++11带来了unique_ptr, shared_ptr, 结合std::vector也可实现类似的功能。
参见网文 ,其中有实际性能测试的例子。
比较boost::ptr_vector和std::vector 指针容器
https://www.cnblogs.com/my_life/articles/5452342.html
其他还有写网文,都是随便搜出来的,也没仔细搜,也没仔细看:
stl container with std::unique_ptr's vs boost::ptr_container
https://stackoverflow.com/questions/9469968/stl-container-with-stdunique-ptrs-vs-boostptr-container
boost::ptr_container and std::vector<shared_ptr>
https://stackoverflow.com/questions/4836575/boostptr-container-and-stdvectorshared-ptr
Changing boost::scoped_ptr to std::unique_ptr
https://stackoverflow.com/questions/30143413/changing-boostscoped-ptr-to-stdunique-ptr