2
class OtherClass
{
    ...
};

class Test
{
    OtherClass otherClass;
};

int main()
{
    Test *pTest = new Test;
}

pTestタイプのオブジェクトを指しますTestotherClassヒープにも割り当てられていますか、それともスタックに割り当てられていますか?

4

2 に答える 2

4
Test *pTest = new Test;

Freestore(Heap)にオブジェクトを作成し、のTestすべてのメンバーTestも同じになります。
あ、はい。

技術的には、標準でヒープまたはスタックという用語が使用されることはありませんが、ほとんどすべての実装で使用されているため、これらを想定できます。

于 2012-11-24T13:09:45.593 に答える
1

ヒープに割り当てられます。は(ポインターではなく)pDataMember型を持つデータ メンバーであるため、 class のオブジェクトに割り当てられたメモリの一部であるため、オブジェクトが配置されている場所ならどこにでも配置されます。OtherClassTestTest

たぶん、非ポインターに名前を付けるべきではありませんpDataMemberか?それは紛らわしいです。

于 2012-11-24T13:10:32.617 に答える