gpt4 book ai didi

c# - 为什么值类型存储在堆栈上?

转载 作者:可可西里 更新时间:2023-11-01 07:59:58 25 4
gpt4 key购买 nike

为什么 C# (.Net) 更喜欢堆栈而不是存储值类型?这种设计背后的主要原因是什么?是因为对堆栈的读/写操作更好地利用了机器处理器吗?

此外,也许您可​​以证明为什么其他人不行?

最佳答案

Eric Lippert 对此进行了讨论 here ;首先,“值类型存储在堆栈中”是不正确的。他们有时是,但不是:

  • 类中的字段
  • 捕获的变量
  • 迭代器 block 中的变量

当它们可以存储在堆栈中时,这是一种对它们的生命周期进行建模的便捷方式,但不需要将它们存储在堆栈中。例如,您可以编写一个没有堆栈的编译器+CLI。

关于c# - 为什么值类型存储在堆栈上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1932155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com