6

これは無理だと思いますが、聞いたほうがいいかもしれません。プライベート Copy-Constructor を宣言しても、デフォルトの実装を引き続き使用できますか?

背景: 非常に大きなベクトルを持つクラスがあり、1 つのメンバー関数を除いてコピー コンストラクターを呼び出したくありません。foreach(Type el,vectOfBigObjects標準の public copy-ctor を使用すると、たとえば、繰り返し ( ) の代わりに参照を忘れるなどのバグに簡単につながる可能性がありますforeach(Type const& el,vectOfBigObjects)。したがって、標準のコピーコンストラクターを保持したいが、それを非公開にしたい.

これは copy-ctors 定義を書き直さずに可能ですか?

4

1 に答える 1