C++ 函数 Lambda 表达式作为参数传递

c++++ 的 lambda 表达式可作为参数传递给其他函数,语法为:auto lambda_function = [](parameter_list) -> return_type { … }。例如,for_each 函数接收一个向量

c++++ 的 lambda 表达式可作为参数传递给其他函数,语法为:auto lambda_function = [](parameter_list) -> return_type { … }。例如,for_each 函数接收一个向量和一个 lambda 表达式作为参数,lambda 表达式执行指定的操作(如将向量元素输出到控制台)。

C++ 函数 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 表达式作为参数传递的详细内容,更多请关注叮当号网其它相关文章!

文章来自互联网,只做分享使用。发布者:pansz,转转请注明出处:https://www.dingdanghao.com/article/380052.html

(0)
上一篇 2024-04-20 10:00
下一篇 2024-04-20 10:00

相关推荐

联系我们

在线咨询: QQ交谈

邮件:442814395@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信公众号