带括号和不带括号的 C++ 类初始化

标签 c++ initialization

<分区>

下面2个初始化有什么区别?

class Pod {
public:
    int a, b;
};

Pod *p1 = new Pod;
Pod *p2 = new Pod();

最佳答案

在第一种情况下,对象未初始化,而在第二种情况下,对象保证值初始化,在这种情况下,类型是 POD,这意味着 零-初始化

关于带括号和不带括号的 C++ 类初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15456887/

相关文章:

c++ - new MyClass 和 new MyClass() 有什么区别

c++ - 快速 vector 初始化 C++

c++ - SSE 半负载 (_mm_loadh_pi/_mm_loadl_pi) 发出警告

c# - 如何在全局范围内初始化全局嵌套字典?

c - 有效地初始化 C 中的数组/数据 block

c++ - ccache 是否完全优于 gcc 的预编译头文件?

c++ - 将二维数组从 C++ 传递到 qml

C++ 值初始化 vector 迭代器比较

objective-c - 如何避免在 Swift 中重写初始化器?

c++ - Win32 选项卡控件中的右对齐选项卡项