使用关键字有什么意义const?例如,在制作游戏时,首先要做的事情之一就是设置游戏的宽度和高度。大多数时候你会使用例如:
const int Width
Run Code Online (Sandbox Code Playgroud)
和
const int height
Run Code Online (Sandbox Code Playgroud)
现在我知道你应该这样做,因为屏幕的宽度和高度在整个游戏过程中不会改变,但这样做有什么意义呢?你可以在不使用 const 的情况下做同样的事情,它会工作得很好。
这只是一个例子。所以我现在感到困惑的是:
const如果您无论如何都不会更改变量,那么在任何地方使用关键字有什么意义呢?
不详尽的原因列表:
软件工程(SWE)。SWE 不仅仅是编程,而是与其他人一起编程,并且随着时间的推移。
const允许显式表达一个不变量,这让您和其他人可以对代码进行推理。随着程序变得越来越大,这些不变量就不能仅仅被记住。这就是为什么用编程语言对它们进行编码会有所帮助。
优化机会。
在知道某些值不会改变的情况下,编译器可以进行其他方式不可能实现的优化。要将其发挥到最大,constexpr意味着在编译时(而不仅仅是在运行时)将知道一个值。这在潜在的多线程上下文中变得更加重要。
我省略了整个程序分析,这需要更长的答案,并且几乎肯定不适用于通用 C++ 程序。但是,整个程序分析将允许分析器或编译器在变量在函数、翻译单元和库之间传递时对变量的常量进行推理。
| 归档时间: |
|
| 查看次数: |
2695 次 |
| 最近记录: |