知道这些容器已经管理了内存,在 STL 容器( vector 、映射等...)中使用智能指针有什么好处?
例子:
std::vector<std::unique_ptr<int>>
代替
std::vector<int*>
最佳答案
如果对象是指针,管理指针占用的内存是不够的。您还需要管理指针指向的内容。存储指向的对象而不是指针是个好主意(在您的示例中 std::vector<int>
是合适的),但是,如果您有不可能的多态对象。
关于C++ 在 STL 容器中使用智能指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26513680/