如果对象内有指针成员变量,那么要重写copy方法。
拷贝赋值函数一定要在operator=
中检查是否 self assignment。代码如下:
/**
* 没有该步骤不只是影响效率
* 一旦使用者自我赋值
* 会发生错误
*/
if (this == &str)
return *this;
![](https://img.haomeiwen.com/i5020103/c3f14ca3c32e78f5.png)
![](https://img.haomeiwen.com/i5020103/b847f17248223c85.png)
如果对象内有指针成员变量,那么要重写copy方法。
拷贝赋值函数一定要在operator=
中检查是否 self assignment。代码如下:
/**
* 没有该步骤不只是影响效率
* 一旦使用者自我赋值
* 会发生错误
*/
if (this == &str)
return *this;
本文标题:2. 拷贝构造,拷贝复制,析构 (Big Three)
本文链接:https://www.haomeiwen.com/subject/ttbzvftx.html
网友评论