山西建设厅网站查不了企业网站建设网站模板
news/
2025/9/29 23:10:23/
文章来源:
山西建设厅网站查不了,企业网站建设网站模板,网站的主机地址,wordpress仿简书语法
[capture](parameters) mutalble-return-type{statement};capture
[] #xff1a;什么也不捕获[] : 按值的方式捕获所有变量[] : 按引用方式捕获所有变量[boo] #xff1a; 值捕获boo的值[,a] : 按值捕获所有局部变量#xff0c;按引用捕获变量a[,return-type{statement};capture
[] 什么也不捕获[] : 按值的方式捕获所有变量[] : 按引用方式捕获所有变量[boo] 值捕获boo的值[,a] : 按值捕获所有局部变量按引用捕获变量a[,a,b,c] : 同上[,a] : 按引用捕获所有局部变量按值捕获方式捕获a[,a,b,c] : 同上[this] : 在成员函数中直接捕获this指针
mutable
值捕获后在匿名函数中对该值是不能做修改的如果想要做修改必须加上 mutable 关键字并且在匿名函数中做的修改结果在函数外是不会生效的。
parameters
参数列表也是可以将外部的值传递给匿名函数内部的与正常函数的形参一样。
return-type
对于编译器能自动推导的返回类型可以省略 return-type但是如果无法推导的类型就必须添加上返回类型
当函数不止一个return语句时就需要加上返回类型了
示例
auto f [](int x, int y){ return x y; };
int result f(10, 20); //result 30捕获列表
int a 10; b 20, c 30;//将变量a和b以值捕获方式传入到表达式中(a、b的值不可修改)
auto f1 [a, b]{ return a b; };
int result1 f1(); //result1 30//将所有变量以值捕获方式传入到表达式中
auto f2 []{ return a b c; };
int result2 f2(); //result2 60int a 10; b 20, c 30;//将变量a和b以引用捕获方式传入到表达式中
auto f1 [a, b]{ a; b; };
f1();
//a 11 b 21//将所有变量以引用捕获方式传入到表达式中
auto f2 []{ a; b; c; };
f2();
//a 12 b 22 c 31mutable
int a 10;//未用mutable修饰
auto f1 [a](){a; //报错
}//使用mutable修饰
auto f2 [a]() mutable {a; //成功修改值只在f2中有效
}
// 调用f2() 后a的值不变
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/922328.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!