有两个班荫Class A和Class B.
class A
{
int width;
int height;
};
class B
{
A obj;
};
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建一个如下所示的指针
B* myObj = new B();
Run Code Online (Sandbox Code Playgroud)
在这里,myObj在堆中创建.在哪里obj,width并height创建?
Ser*_*lis 10
myObj在程序集中调用的指向对象的指针是在堆栈上创建的.
对象本身B()是在堆上创建的.width并且height包含在占用的内存中,B()因此也在堆上.
在Ascii Art中:
Stack --- myObj
|
Heap [ B -- A [ Width, Height ] ]
Run Code Online (Sandbox Code Playgroud)