Closed Analyse4 closed 5 years ago
何老师,这段代码是不是有异常安全问题呀?
CMyString& CMyString::operator = (const CMyString& str) { if(this == &str) return *this; delete []m_pData; m_pData = nullptr; m_pData = new char[strlen(str.m_pData) + 1]; strcpy(m_pData, str.m_pData); return *this; }
是的,如果你在delete掉m_pData后内存还是不够new那你的m_pData就会是一个空指针。
何老师,这段代码是不是有异常安全问题呀?