C 的 Lambda 表达式可作为参数传递给其他函数,语法为:auto lambda_function = [](parameter_list) -> return_type { ... }。例如,for_each 函数接收一个向量和一个 lambda 表达式作为参数,lambda 表达式执行指定的操作(如将向量元素输出到控制台)。
C 函数 Lambda 表达式作为参数传递
Lambda 表达式是一个小型的匿名函数,它可以作为参数传递给其他函数。这在需要将一行或两行代码作为参数传递时非常有用。
语法
auto lambda_function = [](parameter_list) -> return_type { // lambda 函数体 };
实例
下面是一个 C 函数接收 lambda 表达式作为参数的示例:
#include <iostream> #include <vector> using namespace std; void for_each(const vector<int>& v, function<void(int)> f) { for (int i : v) { f(i); } } int main() { vector<int> v = {1, 2, 3, 4, 5}; // lambda 表达式作为 for_each 函数的参数 for_each(v, [](int i) {cout << i << endl; }); return 0; }
输出
1 2 3 4 5
在这个例子中,for_each
函数接受一个向量和一个 lambda 表达式作为参数。lambda 表达式被用作回调函数,它在每个向量元素上执行指定的操作(在这里是输出元素)。
以上是C++ 函数 Lambda 表达式作为参数传递的详细内容。更多信息请关注PHP中文网其他相关文章!