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

东莞响应式网站制作俄文视频网站开发

东莞响应式网站制作,俄文视频网站开发,WordPress网页自动重定向,公司的网站建设价格点击上方“蓝字”#xff0c;发现更多精彩。本文在前一篇关于函数对象、bind 函数的基础上#xff0c;对 C 中 lambda不表达式的使用进行总结。lambda01PART定义一个 lambda 表达式表示一个可调用的代码单元#xff0c;可以理解为是一个未命名的内敛函数。类似任何函数… 点击上方“蓝字”发现更多精彩。本文在前一篇关于函数对象、bind 函数的基础上对 C 中 lambda不表达式的使用进行总结。lambda01PART定义一个 lambda 表达式表示一个可调用的代码单元可以理解为是一个未命名的内敛函数。类似任何函数一个 lambda 具有返回类型、参数列表和函数体和普通函数不同 lambda 必须使用尾置返回来指定返回类型。①捕获列表捕获列表是一个 lambda 所在函数中定义的局部变量的列表捕获列表能够捕捉上下文中的变量以供 lambda 使用。捕获列表可以为空但 [] 不可以省略编译器依次来判断接下来的代码是否是 lambda 表达式。②参数列表和普通函数的参数列表一致如果不需要参数传递则可以连同括号 () 一起省略。lambda 中参数不能有缺省值也不能有无名参数。③mutable默认情况下对于一个值被拷贝的变量lambda 不会改变其值加上 mutable 修饰符后可以修改传递进来的拷贝。在使用 mutable 修饰符时参数列表部分不可省略但列表可以为空。④返回类型标识函数返回值的类型当返回值为 void或者函数体中只有一处 return 时可用省略。⑤函数体标识函数的实现内容与普通函数一样不过除了可以使用参数之外还可以使用所有捕获的变量。函数体不能省略但函数体可以为空。02PART捕获列表①概念一个 lambda 通过将局部变量包含在其捕获列表中来指定将会使用这些变量只能使用明确指明的变量变量捕获方式可以传值捕获也可以传引用捕获。②按值捕获变量在捕获列表中指定变量名字类似传值的参数被捕获的变量值将在 lambda 创建时被拷贝。③按引用捕获变量用 引用捕获一个以引用方式捕获的变量在 lambda 中被使用时实际上使用的引用所绑定的对象。④多参数捕获捕获列表中可以指定捕获多个参数并且可以为每个参数指定捕获方式。⑤隐式按值捕获使用 [] 表示按值捕获 lambda 所在范围内所有可见的局部变量。⑥隐式按引用捕获使用 [] 表示按引用方式捕获 lambda 所在范围内所有可见的局部变量。⑦隐式混和捕获使用 [,prams] 表示除 xxx 按引用捕获外其他所有参数按值捕获使用 [,prams]  表示除 xxx 按值捕获外其他所有参数按引用捕获。04PART指定返回类型如果一个 lambda 函数体包含了 return 之外的任何语句则编译器假定返回类型为 void此时我们必须指定返回值类型。05PARTlambda 是函数对象定义一个 lambda 编译器会生成一个与 lambda 对应的新的类类型。当向一个函数传递一个 lambda 时同时定义了一个新类型和该类型的一个对象生成的类包含所捕获变量对应的数据成员数据成员在类创建时被初始化。int sum 0;std::vectorint vec { 1,2,3,4,5 };std::for_each(begin(vec), end(vec), [sum](int x){sum x;});上述代码被编译器翻译后变为class lambda_b{private: int* m_pSum;public: lambda_b(int* pSum) { m_pSum pSum; } void operator()(int x) const { *m_pSum x; }};int sum 0;std::vectorint vec { 1,2,3,4,5 };std::for_each(begin(arry), end(arry), lambda_b(sum));06PARTlambda 使用lambda 表达式实际为一个函数对象可以把匿名函数保存在变量当有名函数来使用。①使用 auto 保存int a 1;int b 2;//使用 auto 保存 lambda auto func [a, b](int c)mutable -int { b a c; return a; };//做有名函数使用 cout b func(10) endl;②函数指针保存当 lambda 的捕获外部变量列表为空时可使用普通函数指针来保存。//使用函数指针保存 lambda int(*func1)(int) [](int x) {return x; };//函数调用int a func1(20);③使用 std::function 模板类型#include std::functionfloat(int,float) fun1 [](int x, float y) { return x y; };float a fun1(12,1.2);//函数调用函数对象C 可调用对象(一)扫码关注持续获取最新文章c学习 算法与数据结构
http://www.pierceye.com/news/470599/

相关文章:

  • 三亚中国检科院生物安全中心门户网站建设什么是响应式网站
  • 为什么要建设公司网站怎么制作图片视频和配音乐
  • 建设项目环境影响登记表备案系统网站论坛门户网站开发
  • 铁岭网站建设建设云企业服务平台
  • 响应式网站制作方法泰安明航网络科技有限公司
  • 建设网站需要几级安全等保深圳网站开发招聘
  • 无锡网站建设制作公司甘肃省建设工程网站
  • 广州微信网站建设哪家好公司网站排名优化手段
  • 深圳市路桥建设集团有限公司招标采购网站crntos wordpress
  • 广告网站制作报价深圳建筑设计平台网站
  • 网站ns记录南宁企业建站模板
  • 网站服务建设目前做哪些网站能致富
  • 专业网站定制公司深圳网页制作服务
  • 白云网站(建设信科网络)网页工具在哪里
  • 食品网站策划网站建设送企业邮箱吗
  • 天津自贸区建设局网站手机网站导航设计
  • 企业网站建设制作大连网站建设吗
  • 做网页兼职网站有哪些建设网站需要花费
  • 如何快速写一个网站黄页网络的推广软件下载
  • 网站建设公司注册enfold wordpress
  • 上海网站建设百度推广公司哪家好模具厂咋做网站
  • 网站背景自动切换织梦网站模板使用教程
  • 网站建设的成果怎么写找人做淘宝网站需要多少钱
  • 网站制作 企业网站建设哪家好tiktok海外运营推广
  • 南昌做网站哪个公司好玉溪市住房和城乡建设局网站
  • 男女做暖网站是什么样子的wordpress 时间轴 主题
  • 国外建设网站jsp网站开发工具
  • 网站流量怎么赚钱wordpress 08影院模板
  • win网站建设网站哪个公司做的好
  • 温州网站运营微信公众号服务号网站开发流程