对象的拷贝:
初始化变量 以值的方式传递或者返回一个对象
赋值:
Person p1("li",12);
Person p2;
p2 = p1;//赋值
//**实际操作为:**
p2.name = p1.name;
p2.age = p2.age;
析构:一个局部对象在创建它的块结束时被销毁
合成的拷贝赋值和析构函数局限性:
如果类包含vector或者string成员,则其拷贝、赋值和销毁的合成版可以正常工作、可是如果存在需要动态分配内存的成员,则会出错!!!
对象的拷贝:
初始化变量 以值的方式传递或者返回一个对象
赋值:
Person p1("li",12);
Person p2;
p2 = p1;//赋值
//**实际操作为:**
p2.name = p1.name;
p2.age = p2.age;
析构:一个局部对象在创建它的块结束时被销毁
合成的拷贝赋值和析构函数局限性:
如果类包含vector或者string成员,则其拷贝、赋值和销毁的合成版可以正常工作、可是如果存在需要动态分配内存的成员,则会出错!!!