【发布时间】:2020-11-18 05:27:25
【问题描述】:
我想知道如果我在堆上声明一个类实例(new),它的成员是否也会在堆上,即使它们不是使用 new 关键字创建的?
【问题讨论】:
-
是吗?他们怎么可能最终在堆栈上?你有一个你认为最终可能会堆积起来的例子吗? (另外,我不是反对者。) PS - 构造函数和函数将使用堆栈作为局部变量,但它们不是成员变量。
-
一个类实例中的所有数据在内存中都是连续的。这只是一个对象。
-
但是,如果一个类包含指针,这些指针可以指向堆栈或静态数据。
-
他们不确定的唯一方法是,如果该类被声明为没有成员。不存在的成员不会在堆上
标签: c++ object memory heap-memory stack-memory