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

阜阳建设部网站百度推广培训机构

阜阳建设部网站,百度推广培训机构,哈尔滨电子政务网站建设,做网站工作都包括什么explicit关键字只能用来修饰构造函数。使用explicit可以禁止编译器自动调用拷贝初始化,还可以禁止编译器对拷贝函数的参数进行隐式转换。 那么什么是隐式转换呢? 类 命名 参数; //有参构造类 命名 命名对象; //拷贝构造&#x…

explicit关键字只能用来修饰构造函数。使用explicit可以禁止编译器自动调用拷贝初始化,还可以禁止编译器对拷贝函数的参数进行隐式转换。

那么什么是隐式转换呢?

  • 类 命名 = 参数; //有参构造
  • 类 命名 = 命名对象; //拷贝构造,构造之后在赋值
#include<iostream>using namespace std;class Person {
public:Person(string name) {name = name;cout << "有参构造" << endl;}Person(Person& a) {name = a.name;cout << "拷贝构造" << endl;}~Person() {};string name;
};int main() {string name = "nihao";Person p = name;Person p2 = p;return 0;
}

运行结果

有参构造
拷贝构造

通过=让你的类进行隐式类型转化,可以是有参构造,也可以是拷贝构造。但是这种隐式转换在某些时候会出现问题。

void fun(Person p) {cout << "fun" << endl;
}int main() {string name = "nihao";fun(name);return 0;
}

如果我在写一个这样的函数,运行fun(name),你觉得函数会报错吗?

答案是no,会输出fun。这是一个很让人不解的事情,不过有了隐式转换的知识,不难理解,这是因为name触发了Person的有参构造,最后成功调用fun。这种写法很让人误解,所以在大型项目或者项目合作中,建议在不需要隐式转换的情况下,尽量使用explicit关键字。


老规矩,有用二连,支持一下

http://www.zhongyajixie.com/news/6675.html

相关文章:

  • 中山市智能h5网站建设公司软文推广服务
  • 专业做网站哪家强西安网络推广外包公司
  • 公司网站 正式上线品牌关键词优化哪家便宜
  • 网站建设公司 石景山免费发帖的平台有哪些
  • 视频网站如何做营销策划兰州seo整站优化服务商
  • 淮南百姓网seo研究中心教程
  • 建设网站的网站测试惠州seo计费管理
  • 网站认证金额怎么做分录宁波pc营销型网站制作
  • 连云港网站建设方案360排名优化工具
  • 微信公众号被收费299windows10优化软件
  • 模版网站可以做seo吗搜索引擎优化作业
  • wordpress门户风水情感网站seo
  • 在公司平台做网站竞拍网站制作报价表
  • 专门做金融培训的网站有哪些百度网址链接
  • 做网站要多少的服务器独立站怎么建站
  • 郑州商城网站建设多少钱推广平台怎么找客源
  • 免费做橙光封面的网站网站外部优化的4大重点
  • 最专业的佛山网站建设青岛网络优化代理
  • 网站邮箱接口怎么设置百度竞价搜索
  • 济南装饰行业网站建设漳州网络推广
  • app开发公司靠谱吗重庆seo怎么样
  • 网页设计的主题谷歌seo引擎优化
  • 手机web页面设计网站免费的网站推广软件
  • 网站建设推广实训总结软文写作的十大技巧
  • 网站建设维护合同模板百度云在线登录
  • 现在做网站开发整合营销传播案例分析
  • 外贸网站案例东莞网站提升排名
  • 什么类型的网站比较容易做百度热搜榜今日头条排名
  • 好用的h5网站模板厦门搜索引擎优化
  • 大尺度做爰网站百度网站检测