C++ 演算子の勘所
obj[n] = 100;とした場合は、operator[]の戻り値に代入される。a + bは、a.operator+(b)を意味する。コードでそのように記述して呼び出すことも可能。- デフォルトのコピーコンストラクタは、単純にすべてのメンバをコピーする。この動きでよい場合は、これをそのまま使うべき。
- コピーコンストラクタを定義する場合は、リファレンスを引数で受け取るように実装する。
前置インクリメント、後置インクリメント
MyClass& operator++(); // 前置インクリメント
MyClass operator++(int); // 後置インクリメント
++objは、obj.operator++()とするのと同じ。obj++は、obj.operator++(0)とするのと同じ。また、obj.operator++(100)としても同じ。
複合代入演算子の一覧
+=-=*=/=%=^=&=|=