Lambda 允许inline函数的定义式被用作一个参数或是一个local对象。
1、Lambda表达式
1 auto l = []{ 2 std::cout << "…" << std::endl; 3 };
[]内指定capture,用来在Lambda内部访问"nonstatic"外部对象
2、[]() 括号内指明参数
3、Lambda不能是模板
4、Lambda可以返回值,可自动推导
5、指明返回类型
[]()->double{ return 42; }
6、[=]传值、[&]传引用
7、可以混合不同的访问权利
[x,&y]、[=,&y]
8、[id]() mutable
9、Lambda的类型
1 #include<functional> 2 #include<iostream> 3 std::function<int(int, int)> returnLambda() 4 { 5 return [](int x, int y){ return x*y; } 6 } 7 int main() 8 { 9 auto lf = returnLambda(); 10 std::cout << lf(6,7) << std::endl; 11 }