系列文章目录
文章目录
- 前言
- 一、概述
- 1.1 lambda函数简介
- 1.1.1 为什么使用lambda函数?
- 1.1.2 引入lambda的目的
- 二、实例演示
- 总结
前言
一、概述
1.1 lambda函数简介
名称lambda来自lambda calculus(lambda演算),一种定义和应用函数的数学系统。这个系统中可以使用匿名函数,对于接收函数指针或伪函数的函数,可以使用匿名函数定义(lambda)作为其参数。
1.1.1 为什么使用lambda函数?
距离: 定义位于使用的地方附近很有用,由于函数不能定义在函数中,编译器传统意义上也不会内联其他地址被获取的函数,因为函数地址的概念意味着非内联函数,伪函数也可以定义在使用附近,因此,lambda和伪函数比函数近
简洁: 伪函数代码比函数和lambda繁琐
1.1.2 引入lambda的目的
让程序员能够将类似于函数的表达式用作接收函数指针或伪函数的函数的参数。典型的lambda是测试表达式和比较表达式,可编写一条返回语句。这使得lambda简洁易于理解,且可自动推断返回类型。
二、实例演示
示例1:
cout << "-----------" << endl;
int x(10);
auto fun = [](int x)->int{
cout << x << endl;
return 16;
};
cout << fun(18) << endl;
cout << "-----------" << endl;
int a(1),b(11),c(20);
cout << a << endl;
cout << b << endl;
cout << c << endl;
auto Fun2 = [&]()->int{
a = 6;
b = 6;
c = 6;
};
Fun2();
cout << a << endl;
cout << b << endl;
cout << c << endl;
运行结果: