阅读量:0
在 C++ 标准库 <algorithm>
中,remove()
函数用于从一个序列中移除特定元素。它的原型如下:
template <class ForwardIterator, class T> ForwardIterator remove(ForwardIterator first, ForwardIterator last, const T& value);
参数说明:
first
和last
分别表示要处理的序列的起始和结束迭代器;value
表示要移除的元素值。
remove()
函数并不会真正删除元素,而是将不需要删除的元素移到序列的前面,并返回一个指向“新”结束的迭代器。需要注意的是,这个迭代器并不指向被删除元素的位置。
下面是一个使用 remove()
函数的例子:
#include <iostream> #include <vector> #include <algorithm> int main() { std::vector<int> v = {1, 2, 3, 3, 4, 3, 5}; // 使用 remove() 函数移除所有的 3 auto new_end = std::remove(v.begin(), v.end(), 3); // 使用 erase() 函数删除“新”结束位置之前的元素 v.erase(new_end, v.end()); // 输出处理后的向量 for (int x : v) { std::cout<< x << " "; } return 0; }
输出结果:
1 2 4 5