【发布时间】:2014-08-13 07:05:41
【问题描述】:
如果有这样的功能:
int func1() {
int status = func2();
// Do something with status.
return status;
}
在这个函数的过程中,一个int类型的变量状态被分配了内存,在函数的过程中这个变量被使用,然后从func1返回。
我的问题是,什么时候为这个原语收集内存垃圾,或者它是否永远保留在内存中?
【问题讨论】:
-
C++ 没有垃圾收集器。
-
话虽如此,大多数 C++ 编译器可能会生成将
status放入堆栈的代码(请参阅下面的答案),但我敢说这是特定于实现的。可能必须检查 C++ 语言规范才能给出概念上正确、独立于实现的答案。
标签: c++ function garbage-collection