<pre name="code" class="cpp">class CMyString
{
public:
CMyString(char* pData = NULL);
CMyString(const CMyString& str);
~CMyString(void);
private:
char* m_pData;
};
//一般解法
CMyString& CMyString::operator = (const CMyString& str)
{
if (this == &str)
{
return *this;
}
delete[]m_pData;
m_pData = NULL;
m_pData = new char[strlen(str.m_pData) + 1];
strcpy(m_pData, str.m_pData);
return *this;
}
//优秀解法
CMyString& CMyString::operator = (const CMyString& str)
{
if (this != &str)
{
CMyString strTmp(str);
char* pTmp = strTmp.m_pData;
strTmp.m_pData = m_pData;
m_pData = pTmp;
}
return *this;
}
临时代码
最新推荐文章于 2025-03-18 20:02:11 发布
3741

被折叠的 条评论
为什么被折叠?



