L'aggiunta di qualsiasi membro non registrabile a una classe impedirebbe la generazione automatica di costruzione copia e l'operatore di assegnazione. Perché boost richiede che l'ereditarietà non sia utilizzabile?perché boost :: noncopyable richiede ereditarietà
penso io non sono solo nella mia preferenza stilistica per
class MyUtility : public MyBase
{
noncopyable guard;
...
};
al contrario di
class MyUtility : public MyBase , private noncopyable
{
...
};
Dave Abrahams è un ragazzo intelligente, così ha probabilmente considerato questa possibilità. Cosa mi manca? Cosa fa l'ereditarietà?
obbligatorio riferimento alla "Ottimizzazione base vuota" ha permesso di compilatori per coloro che non hanno capito la risposta :) –
@Matthieu M. Fatto :). – UmmaGumma
L'ho accettato come risposta, ma dovrebbe anche menzionare il fatto che l'approccio di boost impedisce alla sottoclasse di fornire esplicitamente la funzionalità di copia. –