Qualche giorno fa, durante la lettura Standard C++ news ho letto il post sulla Defaulted functions in C++11, in tale articolo viene menzionato che il costruttore definito dall'utente è meno efficiente di quello generato dal compilatore:I costruttori predefiniti definiti dall'utente sono meno efficienti?
L'definito dall'utente il costruttore predefinito è meno efficiente del costruttore predefinito definito dal compilatore implicitamente.
Continuando la lettura, c'è un esempio in cui un costruttore definito dall'utente è contrassegnato come di default, e poi dice:
l'esplicito come insolvente costruttore è più efficiente di un costruttore di default programmato manualmente.
Non capisco queste affermazioni, quindi mi chiedevo:
- Perché un costruttore predefinito dall'utente (o funzione membro speciale) sarebbe meno efficiente rispetto al compilatore implicitamente quello definito?
- In che modo viene migliorata l'efficienza impostando esplicitamente un costruttore (o una funzione membro speciale)?
- Quali linee guida devo seguire per scegliere di default un costruttore (o una funzione membro speciale) e come l'efficienza influisce su questa decisione?
http://stackoverflow.com/questions/4275861/why-would-the-implicitly-generated-constructor-et-al-be-more-efficient-than-a?rq = 1 – shivakumar
Buono uno @shivakumar ma entrambe le domande non hanno ancora una risposta accettata, anche quella che hai menzionato dal 2010! : O –