我有以下课程:
class CObj {
private:
MyOtherClass _member;
};
以及创建CObj类实例的以下代码:
CObj* obj = new Cobj;
obj是在堆上分配的,但是:CObj::u成员也是在堆上分配的吗?还是在堆栈上?
最佳答案
obj
是“在堆栈上”分配的指针;对象obj
指向的是“在堆上”,并且作为这样一个对象的成员(=一部分),它也在堆上。
一般来说,作为父对象的一部分,成员被分配到存储其父对象的任何位置。
关于c++ - 是在堆或堆栈上的指针类实例中分配C++非指针数据成员,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19517003/