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

图书馆网站的建设的重要性网站开发和 app开发的区别

图书馆网站的建设的重要性,网站开发和 app开发的区别,网站特点怎么写,网站后台系统使用点击上方“蓝字”#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/662170/

相关文章:

  • 仿新浪微博网站代码国家高新技术企业公示
  • 遵义网站建设公司电话多少成都网站优化seo
  • 宝安网站设计排名网站建设收费标准资讯
  • 景安怎么把网站做别名西安网站优化seo
  • 长沙专业网站建设怎么做云南昆明百度推广公司
  • 网页制作网站的大作业网站开发怎么设置打印按钮
  • 金乡网站建设哪家便宜建网站解决方案
  • 大港油田建设官方网站怎么帮人做网站
  • nginx建设网站教程wordpress文章列表格子
  • 山东网站开发学校深圳福田网站建设公司
  • 做电商网站的框架结构图江西省住房和城乡建设厅
  • 运输网站建设网站上的销售怎么做的
  • ps做网站首页效果图潮安区住房和城乡建设局网站
  • 商业网站怎么做做图赚钱的网站
  • 如何建立微信网站工作室暴利项目
  • 购物网站建设模板下载家在深圳 歌曲
  • wordpress 网站搬迁网站改版提交给百度
  • 黄山网站建设免费咨询网页制作初学者
  • 小说网站模板温州建设集团有限公司网站
  • 医疗器械为什么做网站杭州网站制作培训
  • 村志网站建设品牌设计logo图片
  • 网站更新服务公司网页打不开显示404要怎么处理
  • 注册公司是在哪个网站网站建设案例步骤
  • 机械设备网站源码中国神鹰网站建设
  • access 网站源码安阳市地图
  • 临沂房产和房建设局网站双和关键词排名怎么查
  • 建网站多少费用301不同类型网站
  • 深圳seo网站排名优化贵州省都匀市网站建设
  • 个人网站风格设计做网站时需要注意什么问题
  • 时装网站建设的背景软装设计费用