lambda认识:一个lambda表达式表示一个可调用的代码单元,我么可以将其理解为一个未命名的内联函数,一个lambda具有一个返回类型、一个参数列表和一个函数体 ;lambda可能定义在一个函数内部。
lambda的表达式:[capture list](parameter list )->return type{function body}
练习10.14 编写一个lambda ,接受两个int ,返回他们的和;
#include <iostream> using namespace std; int main() { int a=5, b=6; auto sum = [](int &a, int &b) {return a + b; }; //lambda表达式 cout << sum(a,b) << endl; return 0; }
练习10.15编写一个lambda,捕获它所在函数的int,并接受一个int参数,lambda应该返回捕获的int和int参数的和
#include <iostream> using namespace std; int sum(const int &a, const int &b)//函数 { auto f = [a](int b) {return a + b; };//lambda表达式在函数的内部,a来源于函数所在的int型参数 return f(b); } int main() { int a=5, b=6; cout << sum(a,b) << endl; return 0; }