cosas curiosos con g ++ (tal vez también con otros compiladores?):C++ asignación en la pila actuando curiosamente
struct Object {
Object() { std::cout << "hey "; }
~Object() { std::cout << "hoy!" << std::endl; }
};
int main(int argc, char* argv[])
{
{
Object myObjectOnTheStack();
}
std::cout << "===========" << std::endl;
{
Object();
}
std::cout << "===========" << std::endl;
{
Object* object = new Object();
delete object;
}
}
Compied con g ++:
===========
hey hoy!
===========
hey hoy!
El primer tipo de asignación no construye el objeto. ¿Qué me estoy perdiendo?
Pruebe 'myObjectOnTheStack objeto;' 'es decir, sin el()' – Justicle
@Jerry, agradecimiento que corrigen la terminología – JaredPar
... "en lugar * * declara una función" ... – Potatoswatter