这个问题已经在这里有了答案:
9年前关闭。
在C++中,这两个语句之间有什么区别?
Class clg
{
public :
int x,y,z;
};
int main(void)
{
clg *ptrA = new clg; //
clg *ptrB = new clg(); // what is the importance of "()" ???
return 0;
}
最佳答案
几乎?没什么,一个类。
在后台,一个调用该类的显式构造函数,而另一个调用默认的构造函数。在任何情况下,您的构造函数都可能会做相同的事情(在上述情况下,尽管您理论上可以将其称为复制构造函数,但它们都将做同样的事情),尽管对于POD类型而言并非如此。