c++ - 自动指针容器

标签 c++ stl auto-ptr

我知道不应该使用自动指针容器,这会导致问题。真正的原因是什么?有没有其他类型的“智能”指针可以安全地用在容器中?

最佳答案

容器元素应该是真正可复制的; auto_ptr 不是。如果您制作拷贝,则原件会被修改(它会失去所有权)。可以复制 boost::shared_ptr,因为这两个指针之后将共享所有权。因此,它可以在 STL 容器中使用。

关于c++ - 自动指针容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2871906/

相关文章:

c++ - 我的自动指针即使在所有权转移后也能正常工作

c++ - html2文本库

c++ - "template"消歧器是 c++11。 VS2008 编译器有机会吗?

c++ - std::auto_ptr 到 std::unique_ptr

c++ - vector<auto_ptr<>> 的编译问题

c++ std将列表复制到 map

c++ - 阻止我的项目调用__CxxFrameHandler3(CRT函数)

c++ - 数组作为 C++ 中的输出参数

c++ - thrust::transform_reduce 如何访问一元运算中的迭代器?

c++ - 如何拥有 unordered_multimaps 的 unordered_multimap