关于g++(或其他编译器)的一些有趣事情:
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;
}
}
使用g++编译:
===========
hey hoy!
===========
hey hoy!
第一种分配类型不会构造对象。我错过了什么吗?
Object myObjectOnTheStack;
,即不带()
。 - Justicle