文章目录
引言
本文主要介绍了拷贝构造函数和赋值运算符的区别,简单的分析了深拷贝和浅拷贝的问题,以及在什么时候调用拷贝构造函数、什么情况下调用赋值运算符。最后,总结了在构造函数中使用new时应注意的事项。
拷贝构造函数和赋值运算符
在默认情况下(用户没有定义,但是也没有显式的删除),编译器会自动的隐式生成一个拷贝构造函数和赋值运算符。但用户可以使用拷贝构造函数和赋值运算符定义成私有private,则用户不能使用拷贝构造和对象赋值。也可以使用delete来指定不生成拷贝构造函数和赋值运算符,这样的对象就不能通过值传递,也不能进行赋值运算。
class Person
{
public:
Person(const</