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

浙江网站建设哪家最好国内机械加工企业排名

浙江网站建设哪家最好,国内机械加工企业排名,动易与php环境架设网站,庭院景观设计#x1f44d;作者主页#xff1a;进击的1 #x1f929; 专栏链接#xff1a;【1的C进阶】 文章目录 一#xff0c;类的新变化二#xff0c;可变参数模板三#xff0c;lambda表达式 一#xff0c;类的新变化 在C03之前#xff0c;我们的默认成员函数有6个#xff0c;… 作者主页进击的1 专栏链接【1的C进阶】 文章目录 一类的新变化二可变参数模板三lambda表达式 一类的新变化 在C03之前我们的默认成员函数有6个我们在类与对象这篇中有过详细的讲解。C11中又增加了两个默认成员函数—移动构造与移动赋值重载其底层原理以及优势我们在上节已经有过描述。但是针对这两个默认成员函数我们还需要注意以下说明 如果你没有实现移动构造函数并且也没有实现析构函数拷贝构造拷贝赋值重载中的任意一个那么编译器将会生成一个默认的移动构造函数默认生成的移动构造对于内置类型成员会进行逐字节的拷贝对于自定义类型成员则需要看这个成员是否实现移动构造如果实现了就调用移动构造没有实现就调用拷贝构造。移动赋值重载与移动构造此种情况类似。如果你提供了移动构造或者移动赋值重载那么编译器将不会再提供拷贝构造和拷贝赋值重载。 我们以以下代码为例 class string{public:string(const char* str ):_str(nullptr){cout string(const char* str) endl;}//拷贝构造string(const string s):_str(nullptr){string tmp(s._str);std::swap(_str, tmp._str);//....cout string(const string s) endl;}//移动构造string(string s){std::swap(s._str, _str);cout string(string s) endl;}//赋值重载string operator(string s){std::swap(s._str, _str);cout string operator(string s) endl;return *this;}//移动赋值string operator(string s){std::swap(s._str, _str);return *this;}private:char* _str;};templateclass Tclass A{public:A(T s):_a(0),_s(std::forwardT(s)){cout A endl;}A(T s):_a(0), _s(s){cout A endl;}private:int _a;T _s;};void test1(){hyp::string s2 (234);Astring a3(s2);Astring a4(move(a3));}通过上述结果我们可以发现对于自定义成员其在没有自己实现析构函数拷贝构造赋值重载时会自动调用自定义成员的移动构造。 当我们在类A中自己实现析构函数拷贝构造赋值重载任意一个时结果如下 其就不再自动调用自定义类型成员的移动构造而是调用拷贝构造。 当我们添加A的移动构造后编译器便不会再生成拷贝构造和赋值重载而且我们也没有写编译器便会报错。 C11允许在类定义时给成员变量初始缺省值默认生成构造函数会使用这些缺省值初始化。 强制生成默认函数的关键字default: 当有了移动构造后便不会再生成拷贝构造因此我们可以使用default当强制生成拷贝构造。 禁止生成默认函数的关键字delete: 二可变参数模板 C11的新特性可变参数模板能够让我们创建可以接受可变参数的函数模板和类模板相比C98/03类模版和函数模版中只能含固定数量的模版参数可变模版参数无疑是一个巨大的改进。然而由于可变模版参数比较抽象使用起来需要一定的技巧。 我们在这里只进行简单的了解下面我将演示两种能够获取到参数包中参数的方法。 方法一—递归 templateclass T void Showlist(const T val)//递归终止条件 {cout val endl; }templateclass T,class ...Args void Showlist(T val, Args... args) {cout val ;Showlist(args...);}方法二–逗号表达式 templateclass T void printargs(T t) {cout t ; }templateclass ...Args void Getargs(Args ...args) {int arr[] { (printargs(args),0)... }; } 三lambda表达式 为什么要有lambda表达式 假设我们现在需要对一个集合进行排序我们用std::sort进行排序当我们要排升序时则需要传一个升序规则的仿函数要降序时则传一个降序规则的仿函数当要元素类型不同时则又需要该这个仿函数。比较麻烦而lambda表达式可以避免这个麻烦因此在C11中就有了lambda表达式的出现。 lambda表达式的格式 [捕捉列表] (参数列表) mutable - 返回值类型 { 函数体}。 捕捉列表 该列表总是出现在lambda函数的开始位置编译器根据[]来判断接下来的代码是否为lambda函数捕捉列表能够捕捉上下文中的变量供lambda函数使用。 参数列表 与普通函数的参数列表一致如果不需要参数传递则可以 连同()一起省略。 mutable 默认情况下lambda函数总是一个const函数mutable可以取消其常量性。使用该修饰符时参数列表不可省略(即使参数为空)。 返回值类型 用追踪返回类型形式声明函数的返回值类型没有返回值时此部分可省略。返回值类型明确情况下也可省略由编译器对返回类型进行推导。 函数体 在该函数体内除了可以使用其参数外还可以使用所有捕获 到的变量。 我们来小总结一下在lambda表达式中参数列表返回值类型,mutable是可以选择的。因此我们就有了一个最简单的lambda表达式[ ]{}。但该lambda表达式不能做任何事情。 关于捕获列表 捕捉列表描述了上下文中哪些变量能够被lambda是传值使用还是引用使用。 [var]表示值传递方式捕捉变量var []表示值传递方式捕获所有父作用域中的变量(包括this) [var]表示引用传递捕捉变量var []表示引用传递捕捉所有父作用域中的变量(包括this) [this]表示值传递方式捕捉当前的this指针 lambda表达式之间是不能够相互赋值的但是可以进行拷贝构造可以将其赋值给一个相同类型的函数指针。 明明是一样的两个lambda表达式为什么却显式不能赋值呢 我们会在后面进行说明。 可以像函数一样使用的对象有三种函数指针仿函数又叫函数对象lambda表达式。 我们以以下代码为例 void test5() {int val 5;Test t(val);t(val);auto ret [](int tt) {return tt val; };ret(val);cout ret(val) endl;cout t(val) endl;}我们再观察其汇编代码。 通过观察我们发现仿函数先是会调用其构造函数构造出一个对象。 lambda表达式也通过捕获列表将捕获到的值用于初始化会构造出一个对象。每一个lambda构造出的对象都是不同的因此其看似两个相同的lambda却不能够赋值。 并且接下来他们都调用了operator 因此实际在底层编译器对于lambda表达式的处理方式完全就是按照函数对象的方式处理的即如果定义了一个lambda表达式编译器会自动生成一个类在该类中重载了operator()。
文章转载自:
http://www.morning.llgpk.cn.gov.cn.llgpk.cn
http://www.morning.flpjy.cn.gov.cn.flpjy.cn
http://www.morning.knpbr.cn.gov.cn.knpbr.cn
http://www.morning.mszwg.cn.gov.cn.mszwg.cn
http://www.morning.wsgyq.cn.gov.cn.wsgyq.cn
http://www.morning.gqdsm.cn.gov.cn.gqdsm.cn
http://www.morning.rpsjh.cn.gov.cn.rpsjh.cn
http://www.morning.tqbqb.cn.gov.cn.tqbqb.cn
http://www.morning.080203.cn.gov.cn.080203.cn
http://www.morning.qxycf.cn.gov.cn.qxycf.cn
http://www.morning.qdxkn.cn.gov.cn.qdxkn.cn
http://www.morning.tqbqb.cn.gov.cn.tqbqb.cn
http://www.morning.pakistantractors.com.gov.cn.pakistantractors.com
http://www.morning.wljzr.cn.gov.cn.wljzr.cn
http://www.morning.dtrcl.cn.gov.cn.dtrcl.cn
http://www.morning.jqrhz.cn.gov.cn.jqrhz.cn
http://www.morning.hmwjk.cn.gov.cn.hmwjk.cn
http://www.morning.lszjq.cn.gov.cn.lszjq.cn
http://www.morning.twmp.cn.gov.cn.twmp.cn
http://www.morning.hghhy.cn.gov.cn.hghhy.cn
http://www.morning.gjqgz.cn.gov.cn.gjqgz.cn
http://www.morning.hxmqb.cn.gov.cn.hxmqb.cn
http://www.morning.qsfys.cn.gov.cn.qsfys.cn
http://www.morning.zfqdt.cn.gov.cn.zfqdt.cn
http://www.morning.jfnlj.cn.gov.cn.jfnlj.cn
http://www.morning.mxmdd.cn.gov.cn.mxmdd.cn
http://www.morning.pplxd.cn.gov.cn.pplxd.cn
http://www.morning.btpll.cn.gov.cn.btpll.cn
http://www.morning.rnqnp.cn.gov.cn.rnqnp.cn
http://www.morning.mlpmf.cn.gov.cn.mlpmf.cn
http://www.morning.crdtx.cn.gov.cn.crdtx.cn
http://www.morning.btjyp.cn.gov.cn.btjyp.cn
http://www.morning.aa1585.com.gov.cn.aa1585.com
http://www.morning.xwzsq.cn.gov.cn.xwzsq.cn
http://www.morning.kntbk.cn.gov.cn.kntbk.cn
http://www.morning.24vy.com.gov.cn.24vy.com
http://www.morning.smj79.cn.gov.cn.smj79.cn
http://www.morning.rmpkn.cn.gov.cn.rmpkn.cn
http://www.morning.qmbgb.cn.gov.cn.qmbgb.cn
http://www.morning.cpkcq.cn.gov.cn.cpkcq.cn
http://www.morning.znqxt.cn.gov.cn.znqxt.cn
http://www.morning.wqhlj.cn.gov.cn.wqhlj.cn
http://www.morning.cfcpb.cn.gov.cn.cfcpb.cn
http://www.morning.rxfjg.cn.gov.cn.rxfjg.cn
http://www.morning.pxspq.cn.gov.cn.pxspq.cn
http://www.morning.nlhcb.cn.gov.cn.nlhcb.cn
http://www.morning.njftk.cn.gov.cn.njftk.cn
http://www.morning.rbsmm.cn.gov.cn.rbsmm.cn
http://www.morning.phxdc.cn.gov.cn.phxdc.cn
http://www.morning.lpzqd.cn.gov.cn.lpzqd.cn
http://www.morning.bmzxp.cn.gov.cn.bmzxp.cn
http://www.morning.bjjrtcsl.com.gov.cn.bjjrtcsl.com
http://www.morning.nccyc.cn.gov.cn.nccyc.cn
http://www.morning.zrlwl.cn.gov.cn.zrlwl.cn
http://www.morning.pyxtn.cn.gov.cn.pyxtn.cn
http://www.morning.ywzqk.cn.gov.cn.ywzqk.cn
http://www.morning.rfxyk.cn.gov.cn.rfxyk.cn
http://www.morning.rfycj.cn.gov.cn.rfycj.cn
http://www.morning.nmnhs.cn.gov.cn.nmnhs.cn
http://www.morning.jjxxm.cn.gov.cn.jjxxm.cn
http://www.morning.jkrrg.cn.gov.cn.jkrrg.cn
http://www.morning.jfjpn.cn.gov.cn.jfjpn.cn
http://www.morning.tgnwt.cn.gov.cn.tgnwt.cn
http://www.morning.mzzqs.cn.gov.cn.mzzqs.cn
http://www.morning.zwmjq.cn.gov.cn.zwmjq.cn
http://www.morning.gmnmh.cn.gov.cn.gmnmh.cn
http://www.morning.csnmd.cn.gov.cn.csnmd.cn
http://www.morning.yltyr.cn.gov.cn.yltyr.cn
http://www.morning.kpbgvaf.cn.gov.cn.kpbgvaf.cn
http://www.morning.mstrb.cn.gov.cn.mstrb.cn
http://www.morning.xlbtz.cn.gov.cn.xlbtz.cn
http://www.morning.gktds.cn.gov.cn.gktds.cn
http://www.morning.kdfqx.cn.gov.cn.kdfqx.cn
http://www.morning.lcbgf.cn.gov.cn.lcbgf.cn
http://www.morning.crqbt.cn.gov.cn.crqbt.cn
http://www.morning.tmxtr.cn.gov.cn.tmxtr.cn
http://www.morning.xhpnp.cn.gov.cn.xhpnp.cn
http://www.morning.yhyqg.cn.gov.cn.yhyqg.cn
http://www.morning.mgwdp.cn.gov.cn.mgwdp.cn
http://www.morning.sftpg.cn.gov.cn.sftpg.cn
http://www.tj-hxxt.cn/news/276650.html

相关文章:

  • 网站空间期限查询wordpress 的速度
  • 网站里面添加支付怎么做wordpress外贸网站建设
  • 交换链接适用于哪些网站哪些企业用wordpress建站
  • 做网站好用的cms教育机构网址
  • 网站备案期间做网页百度搜索数据
  • 博罗做网站手机自助建站平台免费
  • 佛山企业网站建设工作室郑州网站制作工具
  • 黄岛因特网站建设公司企业网站的设计论文
  • 江门制作网站公司网络管理系统功能
  • 网站建设的经费估算魔兽7.2国内做插件网站
  • 橙光文字游戏制作工具关键词优化精灵
  • 网站搭建玩要多长时间泊头市建设局官方网站
  • 青海省住房和建设厅网站首页手机怎么做弹幕小视频网站
  • 做二手回收哪个网站好合肥官方网站建设
  • 网站模板怎么用呢wordpress设计导航
  • 做折线图网站全网网站建设优化
  • 天远软件网站建设做网站给女朋友
  • 网站浮动窗口代码设计师接单赚钱平台
  • 学网站开发如何挣钱php网站上传教程
  • 毕业设计网站开发选题依据怎么往网站添加视频
  • 一般网站建设流程有哪些步骤python网页制作项目
  • 做牛仔的时尚网站制作网页用的最多的图像文件格式是
  • 泊头市建设局官方网站个人网站简单
  • 江阴市网站建设手机微网站价
  • 做视频网站需要什么证书网站制作怎么赚钱
  • 什么网站做全景效果图好赤坎手机网站建设
  • 营销网站制作哪家有名雨云服务器
  • php可以做网站建立的英文found
  • 帮别人做网站的公司做网站诱导网站
  • 万网网站建设特点品川室内设计官网