递归到堆栈<>在堆上?

时间:2014-02-03 02:42:37

标签: recursion stack overflow

我需要将递归函数转换为堆栈形式,因为我的程序最终会出现堆栈溢出。我正在使用Unity3D C#,在某个地方我看到它的大小就像程序的5MB大小。

我的问题是,对项目的引用堆栈是保存在堆上还是仍然在堆栈中?我想很明显它会在堆上,但我不清楚为什么。

谢谢!

1 个答案:

答案 0 :(得分:1)

无论何时创建新的objectreference类型),它都会进入堆(动态分配),因此当您使用Stack的新实例时(数据结构,不要与内存堆混淆)它将在堆上分配。 Stackreference类型,而不是值类型。