【问题标题】:Difference between a constant and variable member in compiled or interpreted code编译或解释代码中常量成员和变量成员之间的区别
【发布时间】:2014-10-07 19:17:29
【问题描述】:

一段时间以来,我一直对常量成员在诸如 Java 或 C 等语言中的角色感到有些困惑。我知道在源代码级别,它们可以防止某些关键成员被变异和更改,但是在编译或解释时,它们和变量成员之间有什么区别,还是它们都只是指向内存地址的指针?

我认为也许编译器/解释器必须实现一些特殊的东西以允许变量是可变的,而在处理常量成员时它不必这样做(也许使执行更快或使用更少的内存?),这是真的还是我完全走错了树?

【问题讨论】:

    标签: variables compilation constants language-design interpretation


    【解决方案1】:

    一旦你的代码被执行,const 变量和变量就不会存储在同一个地方。常数值将随您的程序进入闪存。这些变量也将进入闪存,但随后将被复制到内存中以在程序运行时进行修改。制作变量 const 使您的计算机无需将所有内容都推入内存,从而节省时间和空间。当你需要修改它时,无论如何你都会将它推入 Ram,但大多数时候 const 变量不会被修改。 这是对软件事实的补充,您可能希望防止代码错误地修改值。

    【讨论】:

    • 这是不是硬件响应太大了?
    • 如果答案是您想要的,让我们将您的问题标记为已解决,以便更容易从 google 中找到它;)
    猜你喜欢
    • 2011-01-17
    • 1970-01-01
    • 2015-10-21
    • 1970-01-01
    • 1970-01-01
    • 2013-09-18
    • 2021-10-22
    • 2018-12-23
    相关资源
    最近更新 更多