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

茶叶公司网站建设策划书seo关键字排名优化

茶叶公司网站建设策划书,seo关键字排名优化,qt开发安卓app,龙岗外贸网站制作目录 一#xff0c;模板函数sort 二#xff0c;lambda表达式 一#xff0c;模板函数sort 在C98中#xff0c;如对一个数据集合中的元素进行排序#xff0c;可使用模板函数sort#xff0c;如元素为自定义类型#xff0c;需定义排序时的比较规则#xff1b;随着C的发展…目录 一模板函数sort 二lambda表达式 一模板函数sort 在C98中如对一个数据集合中的元素进行排序可使用模板函数sort如元素为自定义类型需定义排序时的比较规则随着C的发展人们开始觉的上面的写法太复杂了为了实现一个算法algorithm都要重新写一个类如每次比较的逻辑不一样还要去实现多个类特别是相同类的命名都会非常不方便 //模板函数sort元素为内置类型 int arr[] { 4,1,5,3,8,7 }; std::sort(arr, arr sizeof(arr) / sizeof(arr[0])); std::sort(arr, arr sizeof(arr) / sizeof(arr[0]), greaterint()); //模板函数sort元素为自定义类型 struct Goods {string _name;double _price; }; struct Compare {bool operator()(const Goods gl, const Goods gr){ return gl._price gr._price; } }; int main() {Goods gds[] { { 苹果, 2.1 }, { 相交, 3 }, { 橙子, 2.2 }, {菠萝, 1.5} };sort(gds, gds sizeof(gds) / sizeof(gds[0]), Compare());return 0; } 二lambda表达式 C11引入了lambda表达式又称匿名函数在传递给函数参数的位置快捷定义匿名函数对象其实际是一个仿函数编译器会生成一个匿名类此类重载了()运算符 //lambda表达式实际是一个匿名函数 Goods gds[] { { 苹果, 2.1 }, { 相交, 3 }, { 橙子, 2.2 }, {菠萝, 1.5} }; sort(gds, gds sizeof(gds) / sizeof(gds[0]), [](const Goods l, const Goods r)-bool{return l._price r._price;});语法[capture-list] (parameters) mutable - return-type { statement } [capture-list]捕捉列表 该列表总是在lambda函数的开始位置编译器根据其来判断接下来的代码是否为lambda函数捕捉列表能够捕捉上下文中的变量来供lambda函数使用(parameters)参数列表 与普通函数的参数列表一致如不需要参数传递可连同()一起省略mutable取消其常量性 默认情况下lambda总是一个const函数mutable可取消其常量性使用该修饰符时参数列表不可省略(即使参数为空)- return-type返回值类型 用追踪返回类型形式声明函数的返回值类型没有返回值时此部分可省略返回值类型明确情况下也可省略由编译器对返回类型进行推导{ statement }函数体 该函数体内除了可以使用参数外还可以使用所有捕获到的变量 注在lambda函数定义中参数列表和返回值类型都是可选部分而捕捉列表和函数体可以为空因此C11中最简单的lambda函数为[]{}该函数不能做任何事 lambda表达式实际上可以理解为无名函数该函数无法直接调用如想直接调用可借助auto将其赋值给一个变量 [] {}; int a 3, b 4, x 10; [] {return a 3; }; [](int c) {b a c; }; auto fun1 [, b](int c)-int {return b a c; }; fun1(10); auto fun2 [x](int a) mutable { x * 2; return a x; }; fun2(10); [capture-list] 捕捉列表 捕捉列表描述了上下文中那些数据可被lambda使用及使用的方式(传值、传引用) [var]表示值传递方式捕捉变量var[]表示值传递方式捕捉所有父作用域的变量(包括this)[var]表示引用传递捕捉变量var[]表示引用传递捕捉所有父作用域中的变量(包括this)[this]表示值传递方式捕捉当前的this指针 注 父作用域指包含lambda函数的语句块语法上捕捉列表可由多个捕捉项组成以逗号隔开捕捉列表不允许变量重复传递否则编译报错在块作用域意外的lambda函数捕捉列表必须为空在块作用域中的lambda函数仅能捕捉父作用域中局部变量捕捉任何非此作用域或非局部变量都会编译报错lambda表达式之间不能相互赋值即使看起来类型相同 函数对象与lambda表达式 函数对象又称仿函数即可以像函数一样使用的类对象就是在类中重载了operator()运算符的类对象实际上底层编译器对于lambda表达式的处理方式完全是按照函数对象的方式处理的即如定义了一个lambda表达式编译器会自动生成一个类该类中重载了operator() class Rate { public:Rate(double rate):_rate(rate){}double operator()(double money, int year){ return money * _rate * year; } private:double _rate; };int main() {//函数对象double rate 0.49;Rate r1 (rate);r1(10000, 2000);//lambda表达式auto r2 [](double money, int year)-double {return money * rate * year; };r2(10000, 2000);return 0; }
http://www.hkea.cn/news/14541949/

相关文章:

  • 中企动力是私企还是国企需要优化的网站有哪些
  • 月子会所网站源码广州网站优化平台
  • 个人网站如何建wechat网页版登陆
  • 网站建设空间多大关键词优化公司哪家效果好
  • 当雄网站建设做ppt介绍网站吗
  • 岳阳建设企业网站蒙古文网站建设的通知
  • 学做网站能赚多少网站建设推广关键词
  • 外贸型网站wap网站开发公司
  • 西安中交建设集团网站林芝seo
  • 网站制作便宜软件开发模型有哪些各有什么特点
  • 国内永久免费域名申请网站百度网址大全 旧版本
  • 免费微信小程序制作模板长沙seo代理
  • 企业展示网站案例wordpress主题模块添加图片
  • 网站建设参考的文献企业网站效果图
  • 在线支付网站建设青海省安建设管理部门网站
  • 怎么建网站教程视频app网页设计作品
  • wordpress 4.4 火车头seo外包大型公司
  • 一个网站的入口网页又称为设计网名昵称
  • 做网站后期续费是怎么算的项目网格化管理
  • 上海嘉定网站建设网站分享设计
  • seo站长常用工具网络营销论文文献
  • 静态网站管理系统办公用纸网站建设
  • 网站如何导流量怎么查网站有没有做301
  • 建设网站是做手机版好还是pc版好河北省电力建设第一工程公司网站
  • 自助建站什么意思ae做模板下载网站
  • 免费入驻的外贸网站亚马逊中国网站建设目标
  • 手机网站开发 html广州番禺最新发布
  • 电子商务网站建设规划方案论文西安网站建设资讯
  • 网站建站视频教程wordpress 最近访客
  • 国外网站建设现状萍乡的电子商务网站建设公司