從Boost版本1.53開始,可以使用shared_ptr來保存指向動態分配數組的指針 。 (http://www.boost.org/doc/libs/1_55_0/libs/smart_ptr/shared_ptr.htm)應該繼續使用boost :: shared_array還是使用boost :: shared_ptr <type []>?
此外,使用的shared_ptr具有分配器功能,如升壓:: make_shared < INT的益處[]>(...);
我應該在可能的時候開始使用boost :: shared_ptr而不是boost :: shared_array嗎?看來boost :: shared_ptr可以完成boost :: shared_array所做的大部分工作。
'shared_array'的一個優點是,它覆蓋'[]'操作符。 ''shared_ptr'你需要首先解引用指針:'(* sharedPtr)[i]'而不是'sharedArray [i]' –
Nick
'std :: vector'通常是更好的選擇。 –
@Nick:不需要,''shared_ptr'支持'operator []'數組類型,另一方面不支持'operator->'或'operator *'。請參閱http://www.boost.org/doc/libs/1_55_0/boost/smart_ptr/shared_ptr.hpp – dalle