首页 > 其他 > 详细

拷贝构造函数

时间:2018-09-20 22:35:15      阅读:149      评论:0      收藏:0      [点我收藏+]

概念

  如果构造函数的第一个参数是自身类型的引用,且任何额外参数都有默认值,则它是拷贝构造函数

  第一个参数必须是自身类型的引用:某个函数具有非引用参数,调用过程中要进行拷贝初始化,此时要调用拷贝构造函数来拷贝实参,如果拷贝构造函数的第一个参数不是引用,我们又需要拷贝实参,这样将无限循环下去

合成拷贝构造函数

  如果我们没有为一个类定义拷贝构造函数,编译器将会为我们定义一个,这个就叫合成拷贝构造函数

技术分享图片

直接初始化

  编译器选择参数最匹配的构造函数

拷贝初始化

  使用拷贝构造函数来拷贝初始化

拷贝初始化发生时机:

1.用=定义变量时

2.将一个对象作为实参传递给一个非引用形参

3.从一个返回类型为非引用类型的函数返回一个对象

4.用花括号列表初始化数组元素或者一个聚合类中的成员

编译器可以绕过拷贝构造函数

技术分享图片

拷贝构造函数

原文:https://www.cnblogs.com/Joezzz/p/9683697.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!