Una cosa comune che mi ritrovo a fare è creare costruttori di copia "quasi predefiniti" e operatori di assegnazione. Cioè, mi trovo in situazioni in cui gli operatori di copia e assegnazione forniti dal compilatore avrebbero funzionato per la maggior parte dei membri dei dati, ma c'è un particolare membro di dati che deve essere gestito in modo diverso. Ciò significa che devo creare esplicitamente un gestore di copia/assegnatore di compiti, incluso elencare esplicitamente tutti i membri di dati che hanno una semplice semantica della copia. Ciò può risultare fastidioso per le classi in cui vi è un discreto numero di membri dati o in un secondo momento quando le variabili membro vengono aggiunte ma non vengono aggiunte all'operatore costruttore/assegnazione copia.Costruttore di copia "quasi predefinito" (& operatore di assegnazione) in C++
C'è un modo per dire al compilatore C++ che un operatore di costruzione/assegnazione copia dichiarato esplicitamente dovrebbe funzionare come implicito, fatta eccezione per qualche altro codice che viene eseguito in seguito? (Ed è compatibile con la sintassi C++ 98 o ha bisogno del supporto C++ 11 o C++ 14?
Implementare un wrapper RAII appropriato per quel membro di dati, quindi i costruttori predefiniti potrebbero funzionare per tutto. –