小智 7
正确的代码是:
A *a = new A();
Run Code Online (Sandbox Code Playgroud)
你必须自己销毁它:
delete a;
Run Code Online (Sandbox Code Playgroud)
如果您想让它的寿命比当前范围长,您通常只会创建一个带有 new(在堆上)的对象。如果你想在离开作用域时销毁对象,你只需在堆栈上分配它:
{ A a;
}
Run Code Online (Sandbox Code Playgroud)
如果您必须在堆上分配对象,请熟悉智能指针——无需继承上个世纪的 C 编程哲学!