我定义了一个简单的类\xef\xbc\x9a
\n\nclass A\n{\npublic:\n int a;\n};\nRun Code Online (Sandbox Code Playgroud)\n\n是sizeof(A)4,所以我很困惑,当我刚刚定义这样一个类时,公共成员变量a存储在哪里?栈还是堆?
它没有存储在任何地方。仅当您实际创建 类型的对象时,它才会在内存中占据一个位置A。
int main()
{
A obj1; // obj1.a will be on the "stack"
A* pObj2 = new A; // pObj2->a will be on the "heap"
}
Run Code Online (Sandbox Code Playgroud)