#include <iostream>
#include <array>
using namespace std; //解决函数怀孕现象
//[](){}
//[] =引用,只读 =mutable读原本改副本 &读写原本 //&a,b a可读写,b只能读
//() 参数,int a,int b
//{}语句
void main()
{
//lambda表达式
auto fun1 = [] {cout << "hello" << endl; cout << "hello2" << endl; };//函数指针
fun1();//括号起到调用的作用 //[](参数列表){执行逻辑}
auto fun2 = [](char *str) {cout << str << endl; };
fun2("hello3"); //lambda带参函数
auto fun3 = [](int a, int b) {return a + b; };
cout << fun3(, ) << endl; //->用在(){}之间,用于确定返回值类型
auto fun4 = [](int a, int b)->double {return a + b; };
cout << fun4(, ) << endl; //decltype解决类型自动推理
auto fun5 = [](int a, int b)->decltype(a+b) {return a + b; };
cout << fun5(, ) << endl; int num1 = ;
int num2 = ;
//=可以使用外部变量,只能读不能写
auto fun6 = [=](){cout << num1 << num2 << endl; };
fun6(); //&可以使用外部变量,读写(对原数据的操作)
auto fun7 = [&](){num1 = ; cout << num1 << num2 << endl; };
fun7(); //mutable可以使用外部变量,读写(副本机制,不对原数据进行改变)
auto fun8 = [=]()mutable{num1 = ; cout << num1 << num2 << endl; };
fun8(); //指定可读写的元素 num1可读可写,num2只能读
auto fun9 = [&num1, num2]() {num1 = ; cout << num2 << endl; };
fun9(); //mutable可读可写但作用的是副本
auto fun10 = [num1, num2]() mutable{num1 = ; cout << num2 << endl; };
fun10(); //lambda与auto
auto fun11 = [](auto a, auto b)->decltype(a+b){return a + b; };
cout << fun11(,3.9) << endl; //内嵌调用lambda
array<int, > myarray{, , , , , , , , , };
for_each(myarray.begin(), myarray.end(), [](int &num) {num += ; cout << num << endl; });
cin.get();
}

最新文章

  1. html+ccs3太阳系行星运转动画之土星有个环,地球有颗小卫星
  2. linux下进程突然断掉后的日志查询
  3. Zabbix_server.conf 的性能调优
  4. Eclipse开发Android程序如何在手机上运行
  5. 判断数据库内容,在页面显示自定义数据case when
  6. 取消eclipse启动时的subclipse Usage弹窗
  7. OpenCart框架运行流程介绍
  8. Oracle 11g-R2 SQL Developer连接MSSQL2008
  9. (转载)URL与URI的区别
  10. Java程序设计-表达式运算(个人博客)
  11. 2015 多校联赛 ——HDU5289(二分+ST)
  12. Tomcat中的ssl安全信道的实现
  13. 拾人牙慧篇之——linux文件挂载,基于nfs的文件共享系统安装配置
  14. JS,JQ 格式化小数位数
  15. Python机器学习(基础篇---监督学习(朴素贝叶斯))
  16. mnist的格式说明,以及在python3.x和python 2.x读取mnist数据集的不同
  17. 微信小程序 - 曲线图
  18. java----字符串的大写字母右移
  19. vue的地图插件amap
  20. bzoj3756pty的字符串(后缀自动机+计数)

热门文章

  1. BZOJ 1050 枚举+并查集
  2. Python(八) 正则表达式与JSON
  3. NET 高效开发之不可错过的实用工具(第一的当然是ReSharper插件)
  4. display 表格模型值
  5. Mysql source导入.sql文件深坑!
  6. GridView单元格取值显示为&amp;nbsp;
  7. Yeslab 华为安全HCIE-第七门-Agile Controlle
  8. 51nod 正整数分组
  9. C# 对Excel操作时,单元格值的读取
  10. iOS 开发之IPad的设计与实现