标签: c++ c++11
请看下面的两个声明。这两种方法在 C ++ 11 中有什么不同?我查看了关于C ++ 03 here
Class A{int m;}
A* a = new A
A* a = new A();
答案 0 :(得分:9)
在C ++ 11中与在C ++ 03中的相同。
第一个是 default-initialision ,让m保持未初始化状态。
m
第二个是值初始化,将m初始化为零。
如果该类具有用户提供的默认构造函数,那么两者都会做同样的事情,调用该构造函数。