定义类时常用的成员变量存放在哪里?

问题描述 投票:0回答:2

我定义了一个简单的类:

class A
{
public:
    int a;
};

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

c++ class c++11
2个回答
4
投票

它没有存储在任何地方。仅当您实际创建

A
类型的对象时,它才会在内存中占据一个位置。

int main()
{
   A obj1; // obj1.a will be on the "stack"
   A* pObj2 = new A; // pObj2->a will be on the "heap"
}

0
投票

我的问题是 A 存储在哪里(或 A 的布局信息)?或者A是如何存储的。不是A的实例。

© www.soinside.com 2019 - 2024. All rights reserved.