1.拷贝构造函数是一种特殊的构造函数,其唯一的形参必须是构造对象的引用。
编译器会自动生成拷贝构造函数,自动生成的拷贝构造函数会将参数中的所有非静态成员拷贝给当前对象
以下三种情况会调用拷贝构造函数:
对象作为函数参数,以值传递的方式传入函数体
对象用于给另一个对象进行初始化
对象作为函数返回值,以值传递的方式从函数返回
class Object()
{
public:
Object(const Object & obj); //拷贝构造函数
}
Object::Object(const Object & obj)
{
num = obj.num;
}
2.使用引用,可以在传递函数参数时,避免调用拷贝构造函数,提高程序执行效率