浅谈为什么拷贝构造函数传引用

时间:2021-07-11 19:26:44

Date d3=(1990,3,8);//构造一个对象
Date d1=d3;//调用拷贝构造函数
(1)
Date(const Date d)
{}
分析:
通过d3来创建d1;调用拷贝构造函数
现在这样拷贝的话,就是先通过d3创建一个临时的拷贝d,这个过程也是通过一个已存在的对象创建一个对象,调用拷贝构造函数
不停的调用拷贝构造函数,无穷的递归,程序出错
(2)
Date(const Date& d)
{}
分析:
通过d3来创建d1;调用拷贝构造函数
传引用,d和d3用同一块空间,d相当于是d3的别名