Recursion 通过堆栈递归<&燃气轮机;乱七八糟?

Recursion 通过堆栈递归<&燃气轮机;乱七八糟?,recursion,stack,overflow,Recursion,Stack,Overflow,我需要将递归函数转换为堆栈形式,因为我的程序最终会导致堆栈溢出。我使用的是Unity3D C#,在某个地方我看到这个程序的大小大约为5MB 我的问题是,对项的引用堆栈是保留在堆上还是仍然保留在堆栈中?我想这是很明显的,它将去堆,但我不清楚为什么 谢谢大家! 无论何时创建一个新的对象(引用类型),它都会进入堆(动态分配),因此当您使用堆栈(数据结构,不要与内存堆栈混淆)的一个新实例时,它会被分配到堆上堆栈是引用类型,而不是值类型 谢谢大家!!正如我当时所想

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

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


谢谢大家!

无论何时创建一个新的
对象(
引用
类型),它都会进入堆(动态分配),因此当您使用
堆栈
(数据结构,不要与内存堆栈混淆)的一个新实例时,它会被分配到堆上<代码>堆栈
引用
类型,而不是值类型

谢谢大家!!正如我当时所想