C++ C++;-如何使用shared_ptr替换T**
我试图使用shared_ptr替换C风格的指针,以避免内存泄漏C++ C++;-如何使用shared_ptr替换T**,c++,pointers,memory-leaks,shared-ptr,C++,Pointers,Memory Leaks,Shared Ptr,我试图使用shared_ptr替换C风格的指针,以避免内存泄漏 T** list_of_T; 这是我的旧代码。我尝试以这种方式使用共享的ptr: vector<shared_ptr<T>> vector_Of_Tptr; Tptr的向量; 但我认为vector会占用更多内存,我应该重写一些代码。那么我可以用这样的方式修改代码吗 shared_ptr<shared_ptr<T> []> shared_list_of_T; shared\u p
T** list_of_T;
这是我的旧代码。我尝试以这种方式使用共享的ptr:
vector<shared_ptr<T>> vector_Of_Tptr;
Tptr的向量;
但我认为vector会占用更多内存,我应该重写一些代码。那么我可以用这样的方式修改代码吗
shared_ptr<shared_ptr<T> []> shared_list_of_T;
shared\u ptr shared\u list\u of T;
这是一种好的做法吗 我不确定std::shared_ptr在这里为您做了什么,除非您有其他对象指向相同的数组?否则,std::vector将更有意义。但是,这并不是特别有效,所以你可能想考虑在一个呈现二维视图的类中包装一维数组,有点像这样:在担心内存开销之前,你需要找出(并告诉我们)。这些对象的生命周期是什么,以及数据结构需要支持哪些更改。我不确定
std::shared\u ptr
在这里为您做了什么,除非您有其他对象指向相同的数组?否则,std::vector将更有意义。但是,这并不是特别有效,所以你可能想考虑在一个二维视图类中包装一维数组,有点像这样:在担心内存开销之前,你需要弄清楚(告诉我们)这些对象的寿命是什么,以及数据结构需要支持什么。