Penso che sia impossibile ma potrei anche chiedere. Posso dichiarare un Copy-Constructor privato e utilizzare ancora l'implementazione predefinita?Posso rendere privato il costruttore di copie e utilizzare ancora l'implementazione predefinita
Background: ho una classe con vettori molto grandi e non voglio chiamare il costruttore di copie ad eccezione di una funzione membro. L'utilizzo di un normale copy-ctor pubblico potrebbe portare facilmente a bug come ad es. dimenticando un riferimento in una iterazione (foreach(Type el,vectOfBigObjects
) anziché foreach(Type const& el,vectOfBigObjects)
). Quindi voglio mantenere la copia standard, ma renderla privata.
Ciò è possibile senza riscrivere la definizione di copia-ctor?