これは不可能だと思いますが、私はよく尋ねるかもしれません。 プライベートコピーコンストラクタを宣言しても、デフォルト実装を使用できますか?コピーコンストラクタをprivateにしても、デフォルトの実装をそのまま使用することはできますか
背景:私は非常に大きなベクトルを持つクラスを持っており、1つのメンバ関数を除いてコピーコンストラクタを呼びたくありません。 のような標準的な公開コピーを使用すると、簡単にたとえば次のようなバグにつながる可能性があります。 foreach(Type const& el,vectOfBigObjects)
の代わりに反復(foreach(Type el,vectOfBigObjects
)の参照を忘れてしまった。したがって、私は標準的なコピーコンストラクターを保ちたいが、それを非公開にしたい。
copy-ctors定義を書き換えないとこれは可能ですか?