5

编程语言书籍通常说明值类型是在栈上创建的,而引用类型是在堆上创建的。

我的问题是为什么。

4

2 回答 2

12

我的问题是为什么。

他们为什么要“解释”这个?因为有时作者自己也不清楚,有时也懒得解释清楚。真相比较复杂。

幸运的是,Eric Lippert 对此进行了大量的写作:

虽然我通常会尝试至少在这里包含完整答案的释义,但我不会在这里这样做 - 因为非常简要地解释它几乎必然会产生误导性的结果。去阅读那些博客文章——然后阅读 Eric 写的所有其他内容。这需要几个星期,但你会很高兴你做到了。

于 2012-03-28T06:07:06.210 回答
1

为什么书的作者会这样写?

1.他们对Eric Lippert的阅读还不够。

2.他们可能没有说明 C# / Java 编译器,他们可能正在考虑其他一些神奇的语言。

3.他们(作者)从其他一些书中读到了同样的东西(所以它现在正在循环中)

4.[IMP] 用 1 行语句而不是 Eric Lippert 的话很容易记住(虽然没用)。

5.许多程序员(像我一样)只是阅读,对他们来说,实际上 RAM 中发生的事情并不重要。他们希望在屏幕(监视器)上显示输出。他们想记住这些事实(以更容易和接近现实的为准)以进行采访。

6.当前软件行业的大多数面试者都不像Eric Lippert。所以即使他们在现实中也不知道。所以记住错误的会很有帮助。

于 2012-03-30T10:04:18.617 回答