码迷,mamicode.com
首页 > 其他好文 > 详细

拷贝构造函数

时间:2018-09-20 22:56:16      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:技术   对象   没有   需要   引用   ima   合成   width   引用类型   

概念

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

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

合成拷贝构造函数

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

技术分享图片

直接初始化

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

拷贝初始化

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

拷贝初始化发生时机:

1.用=定义变量时

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

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

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

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

技术分享图片

拷贝构造函数

标签:技术   对象   没有   需要   引用   ima   合成   width   引用类型   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!