【发布时间】:2017-04-17 08:03:05
【问题描述】:
我想知道在本地方法中实例化的对象存储在哪里?据我所知,对象存储在堆中,它们的引用存储在堆栈中。如果是这样,那么当函数返回,并且对象的引用不再存在(因为函数的本地堆栈帧被弹出)时,该对象是否留在堆中,还是我们必须手动删除它(或使用垃圾收集,就像在 Java 中一样)?
【问题讨论】:
-
您问的是 C++ 还是 Java?选择一个,然后从您的问题中删除另一个标签。 C++ 对象和 Java 对象根本不同。适用于一个的答案不会适用于另一个。不要垃圾标签。
-
获得两者的答案会很有帮助。
-
对于java:只有一种方法可以实例化对象&不管你在哪里做,结果总是一个无法手动删除的对象。引用也可以存储在堆中:当对象引用其他对象时(我猜这也发生在 C++ 中)
标签: java c++ memory-management heap-memory