可能重复:
Do the parentheses after the type name make a difference with new?
在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;
}
答案 0 :(得分:-1)
实际上?没什么,对于一个班级。
在引擎盖下,一个调用类的显式构造函数,而另一个调用默认构造函数。在任何情况下,你的构造函数都可能做同样的事情(在上面的例子中,虽然理论上你可以调用复制构造函数),但POD类型不适用。