メモリを動的に割り当てるクラスではコピーコンストラクタと代入演算子を宣言しよう 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項ずつ読んでいます。