拷贝构造函数
时间:2018-09-20 22:35:15
收藏:0
阅读:150
概念
如果构造函数的第一个参数是自身类型的引用,且任何额外参数都有默认值,则它是拷贝构造函数
第一个参数必须是自身类型的引用:某个函数具有非引用参数,调用过程中要进行拷贝初始化,此时要调用拷贝构造函数来拷贝实参,如果拷贝构造函数的第一个参数不是引用,我们又需要拷贝实参,这样将无限循环下去
合成拷贝构造函数
如果我们没有为一个类定义拷贝构造函数,编译器将会为我们定义一个,这个就叫合成拷贝构造函数
直接初始化
编译器选择参数最匹配的构造函数
拷贝初始化
使用拷贝构造函数来拷贝初始化
拷贝初始化发生时机:
1.用=定义变量时
2.将一个对象作为实参传递给一个非引用形参
3.从一个返回类型为非引用类型的函数返回一个对象
4.用花括号列表初始化数组元素或者一个聚合类中的成员
编译器可以绕过拷贝构造函数
原文:https://www.cnblogs.com/Joezzz/p/9683697.html
评论(0)