题目:如下为类型CMyString的声明,请为该类型添加赋值运算符函数。
class CMyString { public: CMyString(char *pData=NULL);//构造函数 CMyString(const CMyString& str);//拷贝构造函数 ~CMyString();//析构函数 private: char* m_pData;//数据域,字符指针 };
1)是否把返回值的类型声明为该类型的引用,并在函数结束前放回实例自身的引用(*this)。
2)是否把传入的参数类型声明为常量引用。
3)是否释放实例自己已有内存。
4)是否判断传入的参数和当前的实例(*this)是不是同一个实例。
详见:《剑指Offer》。