觉得自己一直在拿c写c++,自己除了输入和输出使用c++中的cout和cin之外,和C并无什么区别 ,为自己感觉到羞愧
一.为什么需要lambda表达式? 什么是lambda表达式?
-
标准库为算法提供了额外的版本,如果我们需要以sort让它从小到大进行排列,我们则需要重新加载sort函数,第三个参数为一元谓词,个人感觉和py中的一元谓词,没有太大的不同。
-
谓词是一个可以调用的表达式,返回结果式一个能够用作条件的值。而我们需要一个可以向算法传递任何类别的可以调用的对象,对于一个对象或者表达式,如果可以使用调用运算符,称它为可以调用的
-
lambda表达式表示一个可以调用的代码单元,我们可以将其理解为一个没有命名的内联函数
[捕获列表] (参数列表) -> 返回值 { 函数体}
-
我们可以忽视参数列表和返回类型,但是必须包含捕获列表和函数题
二.我们如何使用lambda表达式
方式 | 作用 |
---|---|
[ ] | 不能使用所在函数的变量 |
[names] | names 表示所在函数的变量名称 |
[&] | 引用捕获列表中的变量 |
[=] | 采用值捕获列表中的变量 |
[&,identifier_list] | 表示之前的列表是引用,后面是 |