常量变量
尽管这看起来有点矛盾,但大多数编程语言都支持“常量变量”这个概念。在 MQL5 中,通过添加 const 修饰符来说明常量变量。这个修饰符被放置在变量说明中的类型之前,意味着变量值在通过初始值进行初始化后便无法以任何方式更改。在变量的整个生存期中,将具有不变的值,即一个常量。
编译器会阻止对这个常量赋值的操作:相关字符串中将出现错误“无法修改常量”。
const 修饰符的目的是明确表明程序员不希望他人更改相关变量,特别是已知的固定值(如计算美元指数时使用的欧元指数,一年中的周数等)。如果不打算更改变量,建议使用 const 修饰符。这样做有助于避免因程序员或同事试图在常量中写入其他内容而引发可能的错误。
例如,我们可以为 Greeting 函数中的 messages 数组添加 const 修饰符。对于这样一个小程序来说,这似乎作用不大。但由于程序往往会不断扩大,任何字符串可能迟早都会出现在更复杂的软件环境中(如新增语句、操作模式等)。所以,有必要制定 B 计划;尤其是这种操作还非常简单。
string Greeting()
|
在带注释的字符串中,我们测试了将 "Good night" 字符串记录到数组的第一个元素中(请谨记,编号从 0 开始)。在本例中,此操作的意义只是确保编译器会阻止这一行为。
显而易见,static 和 const 修饰符可以组合使用。它们的前后顺序并不重要。
顺便说一下,在 MQL5 中可以通过两种方式将变量变为常量:使用 const 修饰符;将变量声明为程序的输入变量。