【问题标题】:Recursion via stack<> goes on heap?通过堆栈<>进行递归在堆上?
【发布时间】:2014-02-26 10:36:11
【问题描述】:

我需要将递归函数转换为堆栈形式,因为我的程序以堆栈溢出结束。我正在使用 Unity3D C#,在某处我看到该程序的大小约为 5MB。

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

谢谢!

【问题讨论】:

    标签: recursion stack overflow


    【解决方案1】:

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

    【讨论】:

    • 谢谢!和我当时想的一样
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-05
    • 2017-09-12
    • 2011-05-31
    • 2011-11-24
    • 2015-06-06
    • 2011-01-30
    • 2020-08-15
    相关资源
    最近更新 更多