使用erase-remove惯用法从std :: vector中删除指针元素

时间:2015-08-18 16:31:05

标签: c++ pointers vector

取自C++ Erase vector element by value rather than by position?

答案指出,如果你有一个int的向量,你可以使用erase-remove惯用法来删除一个元素,就像它的值一样:

vec.erase(std::remove(vec.begin(), vec.end(), 8), vec.end());

其中8是列表中的元素。

我的问题是,使用相同的技术可以删除带指针的指针元素作为值,如下所示:

std::vector<T*> m_list;

T* value;
m_list.erase(std::remove(m_list.begin(), m_list.end(), value), m_list.end());

鉴于“value”是列表中的元素。

0 个答案:

没有答案