,可以通过使用lambda表达式来实现。lambda表达式是C++11引入的一种匿名函数的方式,可以在代码中直接定义函数体。
下面是一个示例代码,演示如何在std::for_each中跳过特定条件的迭代:
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
// 使用std::for_each遍历numbers中的元素
std::for_each(numbers.begin(), numbers.end(), [](int num) {
// 在lambda表达式中添加特定条件的判断
if (num % 2 == 0) {
// 如果满足条件,则跳过当前迭代
return;
}
// 执行其他操作
std::cout << num << " ";
});
return 0;
}
在上述代码中,我们使用lambda表达式作为std::for_each的第三个参数。lambda表达式中的判断条件是num % 2 == 0
,即判断元素是否为偶数。如果满足条件,则直接返回,跳过当前迭代;否则,执行其他操作,这里是输出元素的值。
这样,我们就可以在特定条件下跳过std::for_each中的迭代。需要注意的是,lambda表达式中的返回语句return;
只会跳过当前迭代,而不会终止整个循环。
领取专属 10元无门槛券
手把手带您无忧上云