在 C 中,向量的擦除()方法允许我们按位置删除元素。但是,如果我们想根据元素的值而不是位置来删除元素怎么办?
考虑以下向量:
vector<int> myVector = {5, 9, 2, 8, 0, 7};
使用以下命令删除值为“8”的元素传统的erase()方法,我们会这样做:
myVector.erase(myVector.begin() + 4);
但是,要按值删除元素,我们可以使用std::remove()函数:
#include <algorithm> ... myVector.erase(std::remove(myVector.begin(), myVector.end(), 8), myVector.end());
它的工作原理如下:
以上是如何按值从 C 向量中删除元素?的详细内容。更多信息请关注PHP中文网其他相关文章!