1.介绍lambda:
一个lamdba代表一个可调用的代码单元,可以将其理解为一个未命名的内联函数。与任何函数类似,一个lamada具有一个返回值类型,一个参数列表和一个函数体。但与函数不同的是,lambda可能定义在函数内部。
一个lambda表达式具有如下形式:
[捕获列表](参数列表) ->返回类型{函数体}
此例中,定义了一个可调用的对象f,不接受参数,返回42。
注意:1.lamdba表达式与普通函数不同,不能有默认形参。因此,一个lambda调用的实参数目必须与形参数目相等。
2.编写一个带参数的lambda的例子
空捕获列表表面此lamada不使用它在所在函数中的任何局部变量。这个函数的作用是,比较两个参数的size(),并根据两者的相对大小返回一个布尔值。
3.编写lambda,返回两个int的和
4.引用捕获
5.调用find_if
用到的函数
std::min_element,标准库算法,头文件是#include <algorithm>
ForwardIt min_element(ForwardIt first, ForwardIt last, Compare comp);
first:起始迭代器
last:终止迭代器(不包含)
comp:(可选)一个可调用对象,lamada表达式,函数指针,函数对象,用于比较元素。不提供,默认"<"。
返回值:返回指向[first,last)中最小元素的迭代器。如果范围为空,则返回last。