C++11新特性lambda 表达式

lambda 表达式

  • lambda 表达式

lambda 表达式

Lambda 表达式的基本语法是:[] (参数列表) -> 返回值类型 {函数体}。
方括号([])表示捕获列表,用来指定在 lambda 表达式中可以访问的外部变量。
参数列表和返回值类型与普通函数的参数列表和返回值类型相同。
函数体则是实际的代码逻辑。

不接受任何参数:[] { 函数体 }
接受参数但不返回结果:[] (参数列表) { 函数体 }
接受参数并返回结果:[] (参数列表) -> 返回值类型 { 函数体 }

这篇博客写的十分详细,可以参考:
lambda表达式详解


int main() {
	auto fr = [](int a, int b)->int {return a + b; };
	int x = fr(1, 2);
	cout << x <<endl;
	const std::type_info& type = typeid(fr);
	std::cout << "变量的类型为:" << type.name() << std::endl;
	return 0;
}

注意后面有分号,说明 这个是一条语句 ,赋值给了fr
C++11新特性lambda 表达式_第1张图片

你可能感兴趣的:(C++,c++,开发语言)