如何将条件传递给 C++ 中的函数?

How can I pass a condition to a function in C++?

本文关键字:C++ 函数 条件      更新时间:2023-10-16

我想要一个运行一些代码的函数,直到满足给定条件。 如何将函数传递给函数,以便结束函数一遍又一遍地调用参数函数,直到它输出给定的值? 鉴于我不会重用参数函数,如果可能的话,我宁愿不创建命名函数。

下面是一个简短的示例。创建一个将 lambda 作为参数的函数。

template<typename Func>
void myFunction(Func&& lambda){
int i=1;
while (lambda(i++)){
std::cout << "Still running!n";
}
}

调用以 lambda 作为参数的函数

int main(){
myFunction([](auto&& val){ return val < 4 ;}); 
return 0;
}