是的,可以通過使用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函數來刪除所有偶數。