当前位置: 首页 > wzjs >正文

建设网站兼职深圳东门麦当劳

建设网站兼职,深圳东门麦当劳,广东万泰建设有限公司网站,网页设计师在什么公司工作1、Lambda 表达式和匿名函数的区别:匿名函数是一个广泛的概念,用于描述没有名字的函数,Lambda 表达式是一种特定的匿名函数实现。在许多编程语言中,Lambda 表达式可以捕获外部变量的上下文(即闭包)&#xf…

1、Lambda 表达式和匿名函数的区别:匿名函数是一个广泛的概念,用于描述没有名字的函数,Lambda 表达式是一种特定的匿名函数实现。在许多编程语言中,Lambda 表达式可以捕获外部变量的上下文(即闭包),而传统的匿名函数则不总是具备这种能力。

2、Lambda 表达式的主要作用:Lambda表达式使得可以在需要函数作为参数的情况下,快速定义函数,而不需要事先声明一个函数。

3、Lambda 表达式的基本语法

[capture](parameters) -> return_type {// function body
}

capture:指定外部变量的捕获方式(如按值或按引用)。
parameters:参数列表,与普通函数类似。
return_type:返回类型(可以省略,编译器会推导)。
function body:函数体。

4、示例1:在需要函数作为参数的情况下,快速定义函数,而不需要事先声明一个函数:

bool test(int(*fp)())// test函数需要一个函数作为参数,fp为函数指针
{return fp() > 10;
}int main()
{bool flag = test([](){// 给test函数一个 lambda 表达式return 5;});cout << "flag == " << flag << endl;// flag == 0return 0;
}

示例2:Lambda 表达式可以在普通函数中定义和使用,但是普通函数不能在函数中定义:

int main()
{auto greet = [](const string& name){cout << "hello " + name << endl;};greet("tom");// hello tomreturn 0;
}

示例3:Lambda 表达式可以捕获外部变量。[ ]就是捕获列表,所谓捕获列表,其实可以理解为参数的一种类型,Lambda 表达式内部函数体在默认情况下是不能够使用函数体外部的变量的, 这时候捕获列表可以起到传递外部数据的作用:

int main()
{// 定义两个外部变量int x = 10;int y = 20;// 方式一:按值捕获外部变量auto add = [x, y](){//x = 100; 报错,此时无法修改按值捕获的外部变量return x + y;};cout << add() << endl;// 30// 方式二:按引用捕获外部变量auto sub = [&x, &y](){x = 100;// 可以修改按引用捕获的外部变量return x - y;};cout << sub() << endl;// 80cout << "x == " << x << endl;// x == 100,外部变量 x 也被修改return 0;
}

5、隐式捕获(自动捕获周围作用域中的变量),手动书写捕获列表有时候是非常复杂的,这种机械性的工作可以交给编译器来处理,这时候可以在捕获列表中写一个 & 或 = ,向编译器声明采用引用捕获或者值捕获,让编译器自行推导引用列表:

int main()
{// 定义两个外部变量int x = 10;int y = 20;// 方式一:按值捕获两个外部变量auto add = [=](){//x = 100; 报错,此时无法修改按值捕获的外部变量return x + y;};cout << add() << endl;// 30// 方式二:按引用捕获两个外部变量auto sub = [&](){x = 100;// 可以修改按引用捕获的外部变量return x - y;};cout << sub() << endl;// 80return 0;
}

6、值得注意的是,如果不使用按引用捕获外部变量的方式,但也想修改外部变量,可以使用 mutable 关键字,但是外部变量本身没有被修改

int main()
{// 定义两个外部变量int x = 10;int y = 20;// 方式一:按值捕获外部变量auto add = [x, y]() mutable {x = 100;// 可以修改按值捕获的外部变量return x + y;};cout << add() << endl;// 120cout << "x == " << x << endl;// x == 10,外部变量 x 本身没有被修改return 0;
}

文章转载自:

http://AoMKiuCW.mqwdh.cn
http://JJOFmQrA.mqwdh.cn
http://0K3R7pbj.mqwdh.cn
http://eYELk2rt.mqwdh.cn
http://tGreEIud.mqwdh.cn
http://IFnMGMQ8.mqwdh.cn
http://iqghUO3V.mqwdh.cn
http://zHilQj3h.mqwdh.cn
http://wks25zp3.mqwdh.cn
http://8z5aLRB9.mqwdh.cn
http://ofJZrRi9.mqwdh.cn
http://vA67Dfwe.mqwdh.cn
http://t21OKiUr.mqwdh.cn
http://KKzLBlmJ.mqwdh.cn
http://6LPJfjVM.mqwdh.cn
http://vow7PhMI.mqwdh.cn
http://Emkqwy5k.mqwdh.cn
http://CVNiy3HZ.mqwdh.cn
http://vAC3o5t6.mqwdh.cn
http://FBdWJ60K.mqwdh.cn
http://HNA4dtzG.mqwdh.cn
http://4HrDWJIy.mqwdh.cn
http://qHexaTSV.mqwdh.cn
http://wJvyacn7.mqwdh.cn
http://QN6o9lHk.mqwdh.cn
http://cYqESLKN.mqwdh.cn
http://dMl4RuAL.mqwdh.cn
http://fyI6pyOF.mqwdh.cn
http://WAgMnwos.mqwdh.cn
http://83svhDKo.mqwdh.cn
http://www.dtcms.com/wzjs/642660.html

相关文章:

  • 德阳网站设计赣州网站制作较好的公司
  • 怎么看网站的建设时间怎么用自己电脑当服务器建设网站
  • 中学生网站作品网络优化的内容包括哪些
  • 成都建站优化庆祝公司网站上线
  • 广州珠江工程建设监理有限公司网站互联网网站开发有哪些职位
  • 新网登录网站后台南京网站优化技术
  • 找代理做网站多少钱技术支持:佛山网站建设
  • wordpress主题官方网站网店seo关键词
  • 现在网站建设都用什么语言网站建设福州
  • 学校网站建设意义有哪些购物网站订单状态模板
  • 腾讯云网站备案吗深圳高端企业网站建设公司
  • 装修加盟网网站做优化公司
  • dw博客网站怎么做乌当区城乡建设局网站
  • 秦皇岛建设工程信息网站貴阳建设银行网站
  • 做商务网站公司建设银行的网站用户名是什么
  • 竞拍网站模板单位网络建设的设计方案
  • 参与做网站的收获搬瓦工一键WordPress
  • 济南哪里有网站建设公司推推蛙seo顾问
  • 中英文网站建设大概多少钱北京网站优化推广分析
  • 张家港做网站费用最新军事新闻
  • 天津网站建设设计开发公司四川省住房与建设厅网站首页
  • 深圳企搜网站建设wordpress适应手机模版
  • 网站建设冫金手指谷哥十四毕设做桌面端还是网站
  • 制作网站服务Wordpress 搜索自动补全
  • 营销网站建设苏州如何创建二级域名
  • 网站建设内容大全网站建设 自学
  • 东莞建站公司网站建设检查
  • 如何做网站授权网址昆明平台网站开发
  • 网站编程设计如何写备注php网站开发源代码
  • 成都网站建设易维达好企业网站建设457