私が使用しますstd::map<int, A>
A
はクラスなのでシャローコピーを防がなければならないのですが、 みたいなクラスが多いA
ので、ディープコピーの構文や演算子を作るのは面倒です。コピーコンストラクタとコピー代入演算子は使わなくてもいいようなので使わないことにします。
ミスを防ぐために、private コピーコンストラクタとコピー代入演算子を持つ UnCopyable クラスを作成し、A
継承しました。
ただし、問題が 1 つあります。std::map
コピー コンストラクターを使用します。
A
のポインターをマップに保存したくありません。
より良い解決策は何ですか?