- lambda函数可以在函数内部定义(因为没有函数名)[可访问外部变量名]()->类型{函数体};
例如:
返回值为void 可以省略的
[=]()->void{}; =是捕获所有外部变量进行值传递
[&]()->void{}; &是捕获所有外部变脸进行引用传递
[nums]()->void{}; 指定变量名称
示例
int num =250;
// void (*pFun)();
[num]()->void{
qDebug() << "被打了";
qDebug() << num;
}();
// pFun();
指针指向lambda表达式示例
int num1 =200,num2 = 300;
//函数指针
void (*ptr)(int&);
//lambda函数定义
ptr = [](int& n)->void{
n = 2;
qDebug() << n;
};
ptr(num1);
qDebug(num1);
C++11 新特性
发布于 2022-01-19 34 次阅读
Comments | NOTHING