文章目录
1.lambda函数
其实就是匿名函数,和匿名对象有异曲同工之妙
[capture](params)opt->ret{body;}
captures: 捕获外部的变量
= 捕获所有变量的拷贝作为副本,不可以修改
& 捕获所有变量的引用
a 捕获a的拷贝
&b 捕获b的引用
(c,&d) 捕获c的值,d的引用
params 函数的参数
opt 可选项
exception 可以抛出异常
mutable 可以修改副本
ret 返回值 可以不写
body 函数体
2.简单用法举例
//定义一个匿名函数并且直接调用它
[](int a)->int{return a++;}(100);
//为函数对象赋值,空的函数
function<void()> cb=[](){};
//auto推导出函数
auto cb=[&](int a){body;};