事实:MQL4
不是经过编译的C语言
枚举类型的 数据属于某个有限的数据集。定义枚举类型:
enum name of enumerable type
{
list of values
};
值列表是用逗号分隔的命名常量的标识符的列表。
声明枚举后,将出现一个新的整数值4字节数据类型。新数据类型的声明允许编译器严格控制传递参数的类型,因为枚举引入了新的命名常量。在上面的示例中,一月命名常量的值为0,二月-1月,十二月-11。
规则::如果未将某个值分配给作为枚举成员的命名常量,则其新值将自动形成。如果它是枚举的第一个成员,则将为其分配0值。对于所有后续成员,值将基于前一个成员的值加上一个来计算。
示例:
enum intervals // Enumeration of named constants
{
month = 1,// Interval of one month ---- code-assogned = 1
two_months,// Two months ---- auto-assigned ~ 2
quarter,// Three months - a quarter ---- auto-assigned ~ 3
halfyear = 6,// Half a year ---- CODE-assigned = 6
year = 12,// Year - 12 months ---- CODE-assigned = 12
wild13,// 13 months ---- auto-assigned ~13
decade =120 // Decade ---- CODE-assigned =120
};
这意味着,需要编译器辅助的 enum
值“ 算术 ”(询问有机会调用在 getPrice(
中进行即时评估/解码的“ 野生前的第二价值 “ )
是可能的,但不要指望它是包含电池的低挂水果,可以从已优化编译语言的MQL4语言架构师那里获得。效率和最小延迟的代码。
一个人可能会为MQL4-enum
-s实现自己的算法,因为上面的价格级别double getPrice( smart_ENUM aLevelCONST )
映射程序正在努力实现,但是使用受限于其限制的受限语言来开发这种设计的成本,请自行考虑(别忘了几年前的惊喜,当 string
-不再是string
-s时,突然之间没有先验或事前公告后,他们默默地成为 struct
-s-一旦事情突然崩溃,每位基金经理,交易员,支持团队成员或API维护人员都可以想象震惊和噩梦以了解为什么(string
-> struct
的通知是,但是在下一版MQL4 / MetaEditor的帮助文件中...太多的毛发散去了,无数的资金蒸发了直到根–发现工厂崩溃的原因隐藏在帮助文件的切向通知中,并且将“更改”重构为API重新设计... 我们最好不要将自己暴露给类似的情况无法控制的风险ong>,或者不要在移动的沙滩上以类似的“依赖关系”狂奔)
至少,您已被警告:o)
注释:
- 与C ++不同,MQL4中枚举类型的内部表示的大小始终等于4个字节。也就是说,
sizeof( months )
返回值4。
- 与C ++不同,无法在MQL4中声明匿名枚举。也就是说,必须始终在
enum
关键字之后指定唯一名称。
本文链接:https://www.f2er.com/3142299.html