欢迎关注Hadoop、Spark、Flink、Hive、Hbase、Flume等大数据资料分享微信公共账号:iteblog_hadoop
  1. 文章总数:961
  2. 浏览总数:11,484,609
  3. 评论:3873
  4. 分类目录:103 个
  5. 注册用户数:5843
  6. 最后更新:2018年10月17日
过往记忆博客公众号iteblog_hadoop
欢迎关注微信公众号:
iteblog_hadoop
大数据技术博客公众号bigdata_ai
大数据猿:
bigdata_ai

C++中构造函数何时才会构建

当用户未定义一个默认的构造函数,编译器并不是在任何时候都给自动给我们定义一个默认的构造函数,它只会在编译器需要的时候才会生成,并且只有class类型的变量会被初始化,其他的诸如内置类型变量或者指针都不会被初始化,这些变量的初始化工作是程序员的责任。

同样,一个类的默认复制构造函数也不是什么时候都会由编译器自动生成,它需要满足以下几种情况:

  1. 当class内含有一个member object,而这个member object的class声明有一个copy construct时(不论是合成的,还是自己写的);
  2. 当class继承自一个base class,而这个base class存在一个copy construt的时候;
  3. 当class声明了一个或多个虚函数(virtual function)的时候;
  4. 当class派生自一个继承串链,其中有一个或者多个虚基类(virtual base class)的时候。
本博客文章除特别声明,全部都是原创!
转载本文请加上:转载自过往记忆(https://www.iteblog.com/)
本文链接: 【C++中构造函数何时才会构建】(https://www.iteblog.com/archives/202.html)
喜欢 (1)
分享 (0)
发表我的评论
取消评论

表情
本博客评论系统带有自动识别垃圾评论功能,请写一些有意义的评论,谢谢!