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

网站漂浮图片常州市金坛区网站建设

网站漂浮图片,常州市金坛区网站建设,公司专业做网站,外贸做网站建设哪家好一般情况下不要使用std::endl#xff0c;尤其是在循环中#xff0c;因为可能一开始你只是想要打印一个换行符#xff0c;但是endl做的更多#xff0c;其还会刷新缓冲区#xff0c;这会额外花费很多时间#xff0c;相反#xff0c;只需要使用“\n…       一般情况下不要使用std::endl尤其是在循环中因为可能一开始你只是想要打印一个换行符但是endl做的更多其还会刷新缓冲区这会额外花费很多时间相反只需要使用“\n就可以做的更好例如下面这个程序例子。 #include iostreamvoid print_Number(int start,int end) {for(auto istart;i!end;i){std::couti\n;} }int main() {print_Number(10,15); }当基于范围的for循环能更好的表达意图的时候却使用索引的for循环 #include iostream #include vectorvoid know_your_algorithms() {const std::vectorint data{-1,-3,-5,8,15,-1};std::size_t first_pos_idx;for(std::size_t i0;idata.size();i){if(data[i]0){first_pos_idxi;break;}}std::coutdata[first_pos_idx]\n; } int main() {know_your_algorithms(); }但是在这里我们可以寻找是否已经有算法可以满足我们需要做到的事情例如下面的例子 #include iostream #include vector #include algorithmvoid know_your_algorithms() {const std::vectorint data{-1,-3,-5,8,15,-1};const auto is_positive[] (const auto x){return x0;};auto first_pos_itstd::find_if(data.begin(),data.end(),is_positive);if(first_pos_it!data.end()){std::cout*first_pos_it\n;} } int main() {know_your_algorithms(); }其中这里的 const auto is_positive[](const auto x) {return x0;};是C语言中的lambda表达式其解释为 const auto is_positive [](const auto x) { return x 0; }; // ▲ ▲ ▲ ▲ ▲ ▲ // | | | | | | // 常量 自动类型 Lambda 参数类型 参数 函数体 // | 推导 起始符 推导 引用 [](const auto x) { return x 0; } Lambda表达式简介 [捕获变量] (参数列表) 可选限定符-返回类型{//函数代码 } #include iostreamint main() {int x7;float y3.0;auto p[x,y] (int a,int b)-float{return x*ya*b;};std::coutp(10,20)\n; }下面我们直接将lambda表达式作为实际参数传入 #include iostream #include vector #include algorithmint main() {std::vectorfloat numbers{1.1,2.0,3.5,-1.4,29.2,12.1,33,6,0};sort(numbers.begin(),numbers.end(),[](float a,float b){return ab;});for(auto v:numbers) std::coutv ; }lambda表达式实际上是函数对象的一种快捷定义方式如果我们用结构体来表示其为 #include iostream #include vector #include algorithmint main() {int x7;float y3.0;struct{int x;float y;float operator()(int a,int b)const{return x*ya*b;}}p{x,y};std::coutp(10,20); }在这里我们虽然改变了y的值但是这两个函数的输出是一模一样的  #include iostream #include vector #include algorithmint main() {int x7;double y2.3;auto p[x,y](int a,int b)-float{return x*ya*b;};std::coutp(10,20)\n;y1.5;std::coutp(10,20)\n;}原因就是因为lambda函数对象中的对应成员变量只是在初始化时复制了y的值所以再次使用同样的参数调用函数对象时结果不会发生变化但是如果我们在引用的前面加上引用运算符则表示其为按引用捕获 #include iostream #include vector #include algorithmint main() {int x7;double y2.3;auto p[x,y](int a,int b)-float{return x*ya*b;};std::coutp(10,20)\n;y1.5;std::coutp(10,20)\n;}因此其输出的结果为下面另外lambda所对应的函数调用运算符默认是const函数也就是说函数内部不能修改按值捕获的成员变量但是可以通过加上mutable修饰符这样捕获的成员函数都是可以修改的了。默认捕获方式  //默认按值捕获 [] //默认按引用捕获 [] #include iostreamint main() {int x7;float y3.0;float z-1;auto p[](int a,int b)-float{return x*y*za*b;};y2;std::coutp(10,20)\n; }这个就是按引用捕获因此其y发生变化的时候下面的输出会有变化。 #include iostreamint main() {int x7;float y3.0;float z-1;auto p[,y](int a,int b)-float{return x*y*za*b;};y2;std::coutp(10,20)\n; }
http://www.pierceye.com/news/377616/

相关文章:

  • 广东营销型网站建设报价定制商品的app
  • 网站导航常用关键字电子商务网站设计内容
  • 建设vip网站相关视频wordpress 修改用户头像
  • 考百度指数 某个关键词在某个行业网站上的wordpress与Wix对比
  • 机器人网站建设规划书福州网站制作怎样
  • 自己创建一个网站需要多少钱2023最建议买10款手机
  • 寻找富阳网站建设国内个人网站欣赏
  • 企业自建站城市建设模拟游戏官方网站
  • 网站建设数据库类型建立网站信息发布登记制度
  • it培训机构都有哪些seo推广教程seo推广技巧
  • 龙岩网站开发较好的公司wordpress屏蔽首页
  • 有没有做美食的网站深圳网站建站公司
  • 学校网站建设需求分析调研表网站右侧信息跟随左侧菜单栏变化
  • 家乡网站建设策划案邢台哪里建网站
  • 网站建设实习收获青岛网上房地产网站
  • 简述电子政务网站设计的技术企业邮箱是什么类型的账户
  • 深圳网站建设公司元嘉定网站开发
  • 佛山外贸网站建设平台上传网站安装教程
  • c2c网站建设实例德国网站建设
  • 建网站支持设备是什么意思佛山中小企业网站建设
  • 网站建设与管理读后感宁德住房和城乡建设部网站
  • 贸易网站建站建设部网站社保联网
  • 住房城乡建设厅网站准考证如何建小企业网站
  • 葫芦岛市城乡建设局网站做什么样的网站
  • 铜山区规划建设局网站大学生心理咨询网站建设论文
  • 泸州本地网站建设扬州做网站公司
  • 镇江网站建设工作室怎么购买国外的域名
  • 广西南宁电商网站建设找客户信息的软件
  • 信阳网站开发公司2022中国互联网公司市值排名
  • 巨鹿县住房与城乡建设厅网站wordpress内容付费插件