c++类初始化,带括号和不带括号

C++ class initialization with and without parentheses

本文关键字:初始化 c++      更新时间:2023-10-16

下面两种初始化的区别是什么?

class Pod {
public:
    int a, b;
};
Pod *p1 = new Pod;
Pod *p2 = new Pod();

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