c++ - STL算法删除容器中的所有对象?

标签 c++ boost stl stl-algorithm boost-ptr-container

是否有 STL 实用程序/算法来对所有对象执行 delete *the_object_iterator;?这样我就可以安全地 clear() 了吗? STL 容器是一个 set,对象是指向使用 new 创建的 C++ 类的指针。

Boost 似乎是最好的解决方案。我的目标是避免在不可复制的类上进行复制构造。

最佳答案

使用智能指针来保存类指针

std::set<std::unique_ptr<MyClass> > mySet;

关于c++ - STL算法删除容器中的所有对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7603000/

相关文章:

c++ - 在 C++ 中加载数据的最快方法

c++ - boost::range::join 一个自定义调用中的多个范围

c++ - 如果迭代器在 STL 容器中失效,指针是否失效

c++使用STL从字符串中删除字符

c++ - 如果模板参数无效,请在编译时检查

c++ - MFC:处理上下文菜单消息的最佳位置?

c++ - boost::function 的默认构造函数是否有不抛出保证?

c++ - 有没有一种明智的方法来从位集中提取最低有效数字?

c++ - 如何在不对行和列使用两个 for 循环的情况下,在 C++ 的 vector 数据结构中获取用户输入的二维数组

c++ - Boost::公历和闰年