El código siguiente llama al destructor 4 veces: #include<iostream>
using namespace std;
class A{
public:
A(){cout<<"A"<<endl;}
~A(){cout<<"~A"<<endl;}
A f(){cout<<"F"<<endl; A
no puedo conseguir mi cabeza alrededor de RVO (y NRVO) definición debido a las múltiples preguntas like this one que me vea el supuesto de que RVO omite un constructor de copia. Ahora de acuerdo con 1