2012-09-12 47 views
0

我知道用'new'初始化的对象是从堆中分配的,但是他们的成员呢?例如,我有A类:对象成员分配

class A 
{ 
     private: int a; //here "a" should be on stack 
}; 

然后,我有对象下面的代码分别定义

A a; 

A *ap = new A(); 

现在的第一条语句的地方a堆栈和ap将在堆中,但如何约a.aap->a?他们是否与他们的父母对象?

+0

对象的实例成员是所述对象的存储的一部分。 – oldrinb

回答

1

是的,根据定义,如果一个对象在堆上,它的成员也是如此,堆栈也是如此。

一个对象实际上只是一块内存,所以因为对象包含成员,所以成员的内存将存在。

0

成员是对象的一部分,就像使用struct一样。