问题1:拷贝构造函数与赋值运算的区别?
拷贝构造完成的是 初始化 的工作,即只能进行一次。赋值运算可以进行多次。
拷贝构造是创造一个自定义类型的对象,赋值运算是对已经存在的对象进行赋值。
问题2:拷贝构造函数的形参为什么是引用?
拷贝构造函数存在于哪里?存在于类中。是类中六大默认成员函数之一。
以Date类为例,其拷贝构造函数写作
现在我们假设,形参是 const Date d。形参的类型是自定义类型Date。与内置类型不同的是,内置类型的初始化拷贝可以按字节赋值拷贝,而自定义类型初始化拷贝的规则我们是不知道的,因此需要调用它的拷贝构造函数。由于自定义类型对象的赋值拷贝(指初始化的时候)要调用其拷贝构造函数,所以拷贝构造函数的形参应该用引用。
问题3:类中生成的 默认 拷贝构造函数是怎样的
按字节序的浅拷贝。