c++ remove_if能删除所有条件项吗

avatar
作者
猴君
阅读量:0

是的,可以通过使用remove_if函数来删除所有满足条件的元素。remove_if函数接受一个条件函数作为参数,该函数返回true表示应该删除该元素。使用remove_if函数后,可以结合erase函数来删除满足条件的元素。例如:

#include <iostream> #include <vector> #include <algorithm>  bool isEven(int num) {     return num % 2 == 0; }  int main() {     std::vector<int> nums = {1, 2, 3, 4, 5, 6, 7, 8, 9};      nums.erase(std::remove_if(nums.begin(), nums.end(), isEven), nums.end());      for (int num : nums) {         std::cout << num << " ";     }      return 0; } 

在上面的示例中,isEven函数用于判断一个数是否为偶数,然后使用remove_if和erase函数来删除所有偶数。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!