我定义了一个简单的类:
class A
{
public:
int a;
};
sizeof(A)
是4,所以我很困惑,当我定义这样一个类时,存储公共成员变量a
的位置?堆栈还是堆?
答案 0 :(得分:3)
它没有存储在任何地方。当您实际创建类型为A
的对象时,它只在内存中接收一个位置。
int main()
{
A obj1; // obj1.a will be on the "stack"
A* pObj2 = new A; // pObj2->a will be on the "heap"
}