8

次の 2 つの初期化の違いは何ですか?

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

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

1 に答える 1

10

最初のケースでは、オブジェクトは初期化されていないままですが、2 番目のケースでは、オブジェクトはvalue-initializedであることが保証されています。この場合、タイプは POD であるため、ゼロ初期化を意味します。

于 2013-03-17T02:16:51.270 に答える