0

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

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

4

1 回答 1

1

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

于 2014-10-07T19:25:55.200 回答