shared_array
头文件: "boost/shared_array.hpp"
shared_array
用于共享数组所有权的智能指针。它与shared_ptr
的关系就如scoped_array
与scoped_ptr
的关系。shared_array
与 shared_ptr
的不同之处主要在于它是用于数组的而不是用于单个对象的。在我们讨论 scoped_array时,我提到过通常std::vector
是一个更好的选择。但 shared_array
比 vector
更有价值,因为它提供了对数组所有权的共享。shared_array
的接口与 shared_ptr
非常相似,差别仅在于增加了一个下标操作符,以及不支持定制删除器。
由于一个指向std::vector
的shared_ptr
提供了比shared_array更多的灵活性,所以我们就不对shared_array的用法进行讨论了。如果你发现自己需要 boost::shared_array
, 可以参考一下在线文档。