Ich denke, das ist unmöglich, aber ich könnte genauso gut fragen. Kann ich einen privaten Kopierkonstruktor deklarieren und trotzdem die Standardimplementierung verwenden?Kann ich den Kopierkonstruktor privat machen und immer noch die Standardimplementierung verwenden
Hintergrund: Ich habe eine Klasse mit sehr großen Vektoren und ich möchte den Kopierkonstruktor mit Ausnahme einer Elementfunktion nicht aufrufen. Die Verwendung eines üblichen öffentlichen copy-ctor könnte leicht zu Fehlern wie z.B. Vergessen einer Referenz in einer Iteration (foreach(Type el,vectOfBigObjects
) anstelle von foreach(Type const& el,vectOfBigObjects)
). Daher möchte ich den Standard-Copy-Constructor beibehalten, ihn aber nur privat machen.
Ist dies möglich, ohne die Copy-Ctors-Definition neu zu schreiben?