class A
{
public:
A();
~A();
int X;
};
A::A()
{
X = 5;
int Y = 4;
}
//..... in another file
A * objectOnHeap = new A();
在这种情况下,由于“objectOnHeap”在堆上,即使不是专门为X编写的,X也在堆上吗?在这种情况下,Y是在堆栈上分配的(当然超出了范围),对吗?
我想知道在尝试设想如何将对象存储在内存中时是否弄错了连线。
最佳答案
是的。在堆上。基本上,分配给堆上对象的空间足够容纳其所有成员变量。
关于c++ - 堆上对象的成员变量是否也自动在堆上?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1461064/