重载赋值操作符
在重载赋值操作符的时候,为什么有写书没有判断指针成员变量是否为空就直接delete?
r如:
class string{
public:
string(const string & str);
string(const char *pchar);
string &operator(const string & str);
private:
char *m_pData;
int m_size;
};
string string::operator(const string & str)
{
if(*str == this)
return;
delete []m_pData; // 就这里.不是应该先判断吗?判断m_pdata是否为空吧,为空就没必要在删除了吧,请大家看看。
......
}