C++ 从 vector 中删除对象

标签 c++

<分区>

我想从 vector 中删除一个元素。例如:

// object that is in the vector: MyClass obj;
// vector looks as so: vector<MyClass*> pVector;

pVector.remove(obj);

最佳答案

这将删除纯粹基于指针的对象。理想情况下,您应该为 MyClass 对象设置比较函数,实际检查这些对象以查看它们是否相同。

pVector.erase(std::remove(pVector.begin(), pVector.end(), obj), pVector.end());

关于C++ 从 vector 中删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27306086/

相关文章:

c++ - 打包压缩资源数据

c++ firebase 段错误,linux,在 std::string::assign 无法访问地址 0xf 处的内存

c++ - 使用 C++ STL 库查找变量模式

c++ - 如何获得两个数组的交集

c++ - vector<T> 调用的构造函数的奇怪问题

c++ - 如何编写返回新仿函数的 boost::lambda 仿函数

c++ - 关于struct data 'getting'的性能

c++ - 为什么这个模板函数原型(prototype)不能正常工作?

C++ 删除 [] 崩溃

c++ - Eigen 垂直堆叠行成矩阵