c++ - 这两个 C++ 语句有什么区别?

标签 c++ syntax constructor initialization new-operator

<分区>

Possible Duplicate:
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;

}

最佳答案

实际上?没什么,为了上课。

在幕后,一个调用类的显式构造函数,而另一个调用默认构造函数。在任何情况下,您的两个构造函数都有可能做同样的事情(在上述情况下,尽管理论上您可以调用复制构造函数,但它们会做),尽管对于 POD 类型而言并非如此。

关于c++ - 这两个 C++ 语句有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5610552/

相关文章:

c++ - 在 C++11 中,原始字符串文字可以有多行吗?

c++ - Qt 重绘 paintEvent 已调用但小部件未更新

java - 为什么构造函数不能是最终的、静态的或抽象的?

java - 调用对象的构造函数

java - 如何实现扩展类的构造函数

javascript - 为什么不需要在构造函数中指定变量?

数百万次执行后的 C++ 程序稳定性

C++ 指向结构成员的指针

c - 使用宏 STATIC 的重要性

ruby - ruby 语法中的未定义方法错误