lambda
lambda本质是我们定义的一种叫做匿名函数的方式,我们用这种方式创建函数,不需要实际创建一个函数,就像一个快速的一次性函数,展示需要运行的代码,我们更希望将它视作一个变量,而不是像一个正式的函数那样,在我们实际的编译的代码中作为一个符号存在
lambda是不需要通过函数定义,就可以定义一个函数的方法
何时使用:
只要你有一个函数指针,你都可以使用lambda
基本语法
[capture](parameters) mutable ->return-type{statement}
[捕捉列表](参数列表) mutable修饰符 ->返回类型{函数体}
//例子
//lambAdd有两个入参a和b,然后它的返回类型是int,我们可以试一下把->int去掉,结果是一样的。
auto lambAdd = [](int a, int b) ->int { return a + b;};
lambda捕获
总结
lambda其实是作为c++11新引入的一种语法规则,它与STL并没有什么直接关联,只是STL里面大量使用了lambda表达式而已,并不能直接就说把它当做是STL的一部分。