removeif用法
时间: 2023-07-29 19:11:11 浏览: 200
浅谈java Iterator.remove()方法的用法(详解)
remove_if是一个算法函数,用于从容器中移除满足特定条件的元素。它需要两个迭代器参数和一个谓词,谓词用于定义要移除的元素条件。
下面是remove_if函数的基本用法示例:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
bool isOdd(int num) {
return num % 2 != 0;
}
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
// 使用remove_if移除奇数
numbers.erase(std::remove_if(numbers.begin(), numbers.end(), isOdd), numbers.end());
// 输出移除奇数后的结果
for (const auto& num : numbers) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
在上面的示例中,我们定义了一个isOdd函数作为谓词,用于判断一个整数是否为奇数。然后我们使用remove_if函数将容器中的奇数移除,并使用erase函数从容器中擦除这些元素。最后,我们遍历容器并输出结果。
输出结果为:
```
2 4
```
这是移除奇数后的结果。
希望这能帮助你理解remove_if的用法。如果你还有其他问题,请随时提问!
阅读全文