という名前のクラスの = 割り当てを基本的に実装するCMyString
コードは次のとおりです。コードは正しいです。
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;
}
インスタンスは参照によって渡され、最初の「if」は、渡されたインスタンスがそれ自体であるかどうかをチェックしています。私の質問は、なぜインスタンスのアドレスが含まれて&str
いないのに、比較に使用するのですか? str
この行がどのように機能するかを説明できる人はいますか?
また、オブジェクトのアドレスが含まれていることを確認したいだけですthis
:これは正しいですか?