CPP11特性之lambda表达式

C++11 引入了 Lambda 表达式,Lambda 表达式是一种匿名函数,可以在需要函数的地方定义并使用它,而无需显式命名函数。

Lambda 表达式的基本语法如下:

1
2
3
[capture list](parameters) -> return_type {
// 函数体
}

其中,capture list 指定要捕获的变量列表(即Lambda表达式中可访问的外部变量),parameters 是Lambda函数的参数列表,return_type 是返回类型(可以使用 auto 自动推导),函数体 则是实现具体功能的代码块。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//简单实例
#include <iostream>

int main() {
int x = 42;

// 使用 Lambda 表达式打印变量 x 的值
auto printX = [x]() {
std::cout << "x = " << x << std::endl;
};

printX(); // 调用 Lambda 函数

return 0;
}