我定义了一个简单的类:
class A
{
public:
int a;
};
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"
}
我的问题是 A 存储在哪里(或 A 的布局信息)?或者A是如何存储的。不是A的实例。