メモリを動的に割り当てるクラスではコピーコンストラクタと代入演算子を宣言しよう 11項
コピーコンストラクタってほとんど書いてないので、かなり耳が痛い。
ここでまずい事例として出ているのは
class String { String(); ~String(); private: char* data; }; String a("Hello"); String b("Good bye"); a= b;
デフォルトの代入演算子だとメンバ間のコピーが行われるだけなので、bのdataがaのdataに上書きされてしまい、"Hello"が解放の機会を失ってしまいます。
コピーコンストラクタを書くようにしよう。
ところで、自分はクラスをnewして使うことが圧倒的の多いのですが、みなさんはどうなんでしょう?
Effective C++ 【改訂第2版】 アスキーアジソンウェスレイシリーズ―Ascii Addison Wesley programming seriesを1項ずつ読んでいます。