C++で"operator=“を書くときの基本三原則。というか、こういう基本をぽかっと忘れるから成長しないんだ…、という自戒メモ。
- *thisへのリファレンスを返す
- すべてのデータメンバに代入する
- 自分自身へ代入するケースをチェックする
String& String::operator=(const String& rhs)
{
if (this != &rhs) { // 自分自身への代入チェック
// すべてのデータメンバに代入
}
return *this;
}
Effective C++ 【改訂第2版】アスキーアジソンウェスレイシリーズ―Ascii Addison Wesley programming series