我有一个简单的问题。我有一个矢量:
vector<int> SomeVector;
里面有一些元素,比如说:
{-1, -1, -1, -1, 3, 8, 255}
有没有办法使用pop_back从这个向量中删除值为-1的所有元素?或者,如果有任何其他方式也会受到欢迎但是:
这里只是一名新生,任何帮助都会很棒,提前谢谢......
答案 0 :(得分:1)
我会将erase-remove idiom用于此类任务
// Remove all elements with value -1 from the vector
vec.erase(std::remove(vec.begin(), vec.end(), -1), vec.end());
仅将pop_back
与back()
结合使用会将向量视为一个堆栈,并弹出尽可能多的-1
。