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

公司网站建设论文网站建设包括哪些内容

公司网站建设论文,网站建设包括哪些内容,交互设计专业国内大学排名,成都响应式网站开发文章首发公众号#xff1a;iDoitnow 1. 特殊的成员函数 C11在原有的4个特殊成员函数#xff08;默认构造函数、复制构造函数、复制赋值运算符和析构函数#xff09;的基础上新增了移动构造函数和移动赋值运算符。这些特殊成员函数在各种情况下是会通过编译器自动提供的。 … 文章首发公众号iDoitnow 1. 特殊的成员函数 C11在原有的4个特殊成员函数默认构造函数、复制构造函数、复制赋值运算符和析构函数的基础上新增了移动构造函数和移动赋值运算符。这些特殊成员函数在各种情况下是会通过编译器自动提供的。 默认构造函数如果未定义任何构造函数编译器将提供一个默认构造函数对于类成员则调用其默认构造函数对于内置的成员默认构造函数不对其进行初始化。如果使用者提供了移动构造函数编译器将不会自动提供默认构造函数。复制构造函数如果未定义复制构造函数而代码有需要使用它编译器将提供一个默认的复制构造函数。如果使用者提供了类的移动构造函数的情况下编译器将不会自动提供复制构造函数移动构造函数如果未定义移动构造函数而代码有需要使用它编译器将提供一个默认的移动构造函数。如果使用者提供了类的析构函数、复制构造函数、复制赋值运算符或移动赋值运算符的情况下编译器将不会自动提供移动构造函数复制赋值运算符如果未定义复制赋值运算符而代码有需要使用它编译器将提供一个默认的复制赋值运算符。如果使用者提供了移动赋值运算符编译器不会自动提供复制赋值运算符移动赋值运算符如果未定义移动赋值运算符而代码有需要使用它编译器将提供一个默认的移动赋值运算符。如果使用者提供了复制构造函数、移动构造函数、复制赋值运算符或析构函数编译器不会自动提供移动赋值运算符 当用户在定义某些特殊函数后导致另外某个特殊函数不会自动创建这时候用户仍可以使用关键词 default 强制编译器生成隐式声明的目标特殊成员函数函数。例如用户定义了移动构造函数编译器不会自动构建默认构造函数、复制构造函数和复制赋值运算符这种情况下我们可以通过default强制编译器创建这些方法的默认版本 class A{public:A(A );A() default;A(const A) default;A operator (const A) default; };同时有些时候我们不希望编译器为我们提供某个特殊的成员函数默认版本我们可以使用关键字delete来禁止编译器使用特定方法。关键字default只能用于这个6个特殊的成员数默认构造函数、复制构造函数、复制赋值运算符、移动构造函数、移动赋值运算符和析构函数但delete可以用于任何成员函数。例如 class A{public:A() delete;//禁止编译器生成默认构造函数void readDoubleNum(double); }class B{public:B() delete;//禁止编译器生成默认构造函数void readDoubleNum(double);void readDoubleNum(int) delete;//禁用readDoubleNum函数的特定转换 };A a; a.readDoubleNum(5.0);//正确 a.readDoubleNum(5);//正确int值5将被转换为5.0进而执行readDoubleNum(double)方法B b; b.readDoubleNum(5.0); b.readDoubleNum(5);//错误其与readDoubleNum(int)原型匹配编译器检测到该方法被禁用后在编译阶段就会报错防止int到double的特定转换2. override和final override标识符 override说明符的作用是用来指定一个虚函数覆盖另外一个虚函数。其用法如下 class A{virtual void fun();... };class B : A{void fun() override;//B::fun将覆盖A::fun... };C11引入override标识符的目的就是为了在重写基类的方法时候防止重写方法的类型、名称和参数列表因为人为因素造成其与基类的不一致无法使用多态。使用override标识符将重写的检查工作重写方法的类型、名称和参数列表要与基类的保持一致交给编译器处理减少人为出错的可能。 final标识符 final标识符的作用是指定某个虚函数不能在派生类中被覆盖或者某个类不能被派生。其使用方法如下 calss A{virtual void fun(); };class B : A{void fun() final;//A::fun被覆盖而且B::fun是最终被覆盖函数void ba() final;//错误ba非虚函数因此它不能是final };class C final: B{//C为finalvoid fun() override;//错误fun不能被覆盖因为其在B中为final };class D : C{};//错误因为类C位final其不可以被派生参考文献 C Primer Plus(第六版) - 第18章 探讨C新标准 C 参考手册
http://www.hkea.cn/news/14554555/

相关文章:

  • 北京定制网站国外做伞的品牌网站
  • 建设网站招标centos7.2做网站
  • 网站开发的前台开发工具百度权重排名高的网站
  • 如何做网站推广的方案设计互联网站备案管理工作方案 工信部
  • 阿旗建设局举报网站长沙河东做网站
  • 巴南市政建设网站网站如何与域名绑定
  • 手机制作小程序软件的app天津企业seo
  • 专门做预言的网站win系统更新后 wordpress
  • 一级做a爱网站免费php网站开发都需要什么软件
  • 大连网络备案做网站有口碑的宁波网站建设
  • 做网站包括什么软件个人简历网页制作代码
  • 途途外贸企业网站管理系统上海有什么公司
  • 制作一个自适应网站培训教育机构
  • 网站建设主要业务流程设定怎么做像天猫类似的网站
  • 网站里的横幅怎么做汕头建站模板源码
  • 学做网站后台开发长春做网站建设的公司
  • 宁波外贸公司为什么这么多怎么优化网站关键词的方法
  • 怎么用we做网站礼品公司网站制作
  • 网站和网页微网站如何做微信支付宝支付
  • 免费网站推广工具青岛团购网站建设
  • 网站建设合同 含维护费申请域名要钱吗
  • p2p网站开发公司西宁网站设计高端
  • 网站后台管理系统数据库织梦cms仿网站教程
  • 福州网站设计网站系统制作会议管理系统
  • 绚丽的网站欣赏手机购物app排行榜前十名
  • 八里河风景区网站建设内容摘要北京移动端网站开发
  • 无锡网站seo动画制作软件排行榜
  • 顺义区专业网站制作网站建设免费ppt下载网站有哪些
  • 哪一些网站使用vue做的中国电信收购腾讯
  • 产品推广策划方案aso具体优化