0

以下の簡単なコードを見てください。ヒープ上のオブジェクトdを指すスタック上のポインターです。demoオブジェクトには が含まれていますval。これは、クラスのコンテキストではスタック変数のように見えますが、オブジェクトは heap に割り当てられています。. . . 正確にはvalどこですか?

class demo
{
    int val;

public:
    demo() : val(5) {};
};

demo* d = new demo();
4

2 に答える 2

2

変数valは、ヒープ上にあるオブジェクトの一部であるため、ヒープ上にあります。各スレッドには独自のスタックがありますが、個々のオブジェクトにはありません。静的に宣言されvalている場合にのみ、スタックに配置されます。d

于 2013-06-27T11:33:08.303 に答える