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

wap asp网站模板下载网站怎么建设教程

wap asp网站模板下载,网站怎么建设教程,做海报赚钱的网站,聊天软件开发多少钱目录 1.lambda表达式 1.1什么是Lambda表达式#xff1f; 1.2Lambda表达式的语法 1.3捕捉列表 1.4函数对象与lambda表达式 1.lambda表达式 1.1什么是Lambda表达式#xff1f; Lambda表达式是C11标准引入的一种匿名函数#xff0c;它允许你在需要函数的地方直接编写代码…目录 1.lambda表达式 1.1什么是Lambda表达式 1.2Lambda表达式的语法 1.3捕捉列表 1.4函数对象与lambda表达式 1.lambda表达式 1.1什么是Lambda表达式 Lambda表达式是C11标准引入的一种匿名函数它允许你在需要函数的地方直接编写代码块而无需定义一个完整的函数。Lambda表达式通常用于简化回调函数、简化STL算法的使用等场景。 1.2Lambda表达式的语法 [capture_list] (parameters) mutable- return_type {     // function body } capture_list捕获列表用于指定Lambda表达式可以访问的外部变量。编译器根据[]来 判断接下来的代码是否为lambda函数捕捉列表能够捕捉上下文中的变量供lambda 函数使用。 parameters参数列表普通函数的参数列表一致如果不需要参数传递则可以 连同()一起省略 mutable默认情况下lambda函数总是一个const函数mutable可以取消其常量 性。使用该修饰符时参数列表不可省略(即使参数为空)。 return_type返回值类型。用追踪返回类型形式声明函数的返回值类型没有返回 值时此部分可省略。返回值类型明确情况下也可省略由编译器对返回类型进行推 导。 function_body函数体在该函数体内除了可以使用其参数外还可以使用所有捕获 到的变量。 注意 在lambda函数定义中参数列表和返回值类型都是可选部分而捕捉列表和函数体可以为 空。因此C11中最简单的lambda函数为[]{};该lambda函数不能做任何事情。 // lambda 匿名函数的对象 int main() {auto add1 [](int x, int y)-int {return x y; };cout add1(1, 2) endl;auto func1 []()-int{cout hello world endl;return 0;};func1();// 返回值类型可自动推导类型所以可以省略// 无参数可以省略auto func2 []{cout hello world endl;return 0;};cout func2() endl;auto func3 []{cout hello world endl;};func3();return 0; } lambda表达式实际上可以理解为无名函数该函数无法直接调用如果想要直接调用可借助auto将其赋值给一个变量。 1.3捕捉列表 捕捉列表描述了上下文中那些数据可以被lambda使用以及使用的方式传值还是传引用。 [var]表示值传递方式捕捉变量var[]表示值传递方式捕获所有父作用域中的变量(包括this)[var]表示引用传递捕捉变量var[]表示引用传递捕捉所有父作用域中的变量(包括this)[this]表示值传递方式捕捉当前的this指针 int main() {// 只能用当前lambda局部域和捕捉的对象和全局对象int a 0, b 1, c 2, d 3;// 所有值传值捕捉auto func1 []{int ret a b c d; // 都捕捉了都能用return ret;};// 所有值传引用捕捉auto func2 []{// 传引用捕捉能修改a;b;c;d;int ret a b c d;return ret;};// 混合捕捉auto func3 [a, b]{// a能修改b不能a;// b;int ret a b;return ret;};// 混合捕捉// 所有值以引用方式捕捉d用传值捕捉auto func4 [, d]{a;b;c;//d; // d传值捕捉不能修改其他传引用捕捉都能修改int ret a b c d;};auto func5 [, d]() mutable // 加了mutable取消了const传值捕捉的a,b,c都能修改{a;b;c;d;int ret a b c d;};return 0; } 1.4函数对象与lambda表达式 函数对象也称为仿函数或functor是一种重载了函数调用操作符operator()的类。这意味着函数对象可以像普通函数一样被调用。 // 定义一个简单的函数对象 class Add { public:Add(int z):_z(z){} int operator()(int x, int y) const {return x y _z;} private:int _z; };int main() {int z 1;// 函数对象Add add(1);cout add(2, 3) endl;// lambda表达式auto lam [z](int a, int b)-int{return a b z;};cout lam(2 ,3) endl;return 0; } 从使用方式上来看函数对象与lambda表达式完全一样。 函数对象将z作为其成员变量在定义对象时给出初始值即可lambda表达式通过捕获列表可以直接将该变量捕获到。 实际在底层编译器对于lambda表达式的处理方式完全就是按照函数对象的方式处理的即如 果定义了一个lambda表达式编译器会自动生成一个类在该类中重载了operator()。
http://www.hkea.cn/news/14585010/

相关文章:

  • 厦门专业网站推广宽带网络哪家好
  • 坑梓做网站公司怎么样仿糗事百科wordpress
  • 上海做网站公wordpress 七牛
  • 在线制作视频网站开发系统软件
  • 汽车网络营销分析报告宁波seo整体优化
  • 个人网站做经营性小程序项目开发报价
  • 网站怎么做下载网页代码吗室内设计好的大学排名
  • 手机咋做网站最新网站模板
  • 网站设计简单讲解洛阳建设局网站
  • 扁平图标网站wordpress安装要求
  • 在电脑新建网站站点嘉定房产网
  • 网站建设需要哪些流程广告vi设计是什么
  • 网站建设与网页设计专业的semrush
  • 网站空间后台密码成都网站搭建公司
  • 养殖网站 模板外贸做的社交网站
  • 导航网站php下载手机版app
  • 建立网站怎么申请流程平台
  • 网站下拉菜单html做多大选择建设网站公司要注意什么
  • excel做网站页面布局青岛百度网站排名
  • 龙岗网站建设价格建个网站多少费用
  • 换模板搭建网站怎么做品牌市场营销策略
  • 网站收索功能怎么做网站开发一般要哪些开发工具
  • 阜阳网站是沧州兼职网站建设
  • 网站建设知名公司排名自己接单赚钱app
  • 肇庆网站制作策划淮北市建筑
  • 渭城区住房和城乡建设局网站朔州网站建设收费
  • 免费做app的网站哪个好深圳商业营销厅设计公司
  • 网站开发哪些公司张家港外贸网站建设
  • 局部翻新装修公司公司seo推广营销网站
  • 做运动特卖的网站自己设计logo软件