定义类时存储的公共成员变量在哪里?

时间:2017-11-24 08:48:23

标签: c++ class c++11

我定义了一个简单的类:

class A
{
public:
    int a;
};

sizeof(A)是4,所以我很困惑,当我定义这样一个类时,存储公共成员变量a的位置?堆栈还是堆?

1 个答案:

答案 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"
}