J'ai une fonction:Les destructeurs ne sont-ils pas destinés à être appelés lors du renvoi de cet objet (pas en tant que pointeur)?
static Bwah boo(){
Bwah bwah;
return bwah;
}
Et une fonction principale:
int main(){
Bwah boo = Assigner::boo();
cout << "got here.." << endl;
}
Le destructor à Bwah est appelée une seule fois, après l'impression "obtenu ici". Est-ce garanti ou est-ce une optimisation du compilateur?
Un lien peut être sympa. :-) – Omnifarious
Plus d'informations à ce sujet si vous ne voulez pas le google: http://en.wikipedia.org/wiki/Return_value_optimization –
Bon article sur ce sujet et sujets connexes: http://cpp-next.com/ archive/2009/08/want-speed-pass-by-value/ – ergosys