The C Pre-Processor (CPP) is the somewhat basic macro system used by the C programming language to implement features such as and which allow very simple text-substitutions to be carried out at compile time. In this article we abuse the humble to implement if-statements and iteration. Before we begin, a disclaimer: these tricks, while perfectly...
那些在评论中的正常名字呢?
顺便说一下,在mql预处理程序中似乎有一个错误。
展开为'i nt ll;',并给出了一个错误。
'i nt' - undeclared identifier t_t_t.mq4 50 1
关于枚举中的注释--据说它们应该抽动到C语言预处理器上。因此,即使有可能塞进一个评论,也不太可能产生影响。从好的方面来说,你需要改变语法(例如改为_cmnt_),用拉动注释的预处理器改变C预处理器的调用顺序。我认为,这种改革的前景是不可能的)。
顺便说一下,在mql预处理程序中似乎有一个错误。
展开为'i nt ll;',并给出了一个错误。
动态ENUM是供内部使用的,设置窗口不显示这些。其实不需要正常的名字/评论
最后一种方法需要为枚举和返回数组值的函数手动写空。我决定把它弄清楚,并以不再需要它的方式来写它。然而,它不能在mql中编译,没有参数数量可变的宏,但理论上它们可以出现。总之,这是我得到的东西。
Выхлоп printf:
----enum1-----
1
3
65
90
----enum2-----
100
-3
21
----enum3-----
871
213
226
// 为emum1生成的代码
// enum1{
// q = 1,
// e = 3,
// t = 65,
// z = 90,
// };
// unsigned get_enum1_array(int *ar){
// int temp[ ] = { q, e, t, z, };
// if(ar != NULL)
// for(unsigned i = 0; i < sizeof(temp) / sizeof(int); ++i){
// ar[i] = temp[i]; }
// return sizeof(temp)/ sizeof(int);
// }
关于这个问题的文章http://jhnet.co.uk/articles/cpp_magic。 总而言之,当然是有很多魔法。但该技术对提及预处理程序代码生成的广泛任务是有用的。
我饶有兴趣地阅读了这个主题,所有的宏都非常酷。
只是不清楚,为什么我们需要这些与枚举有关的舞蹈?我可以给你一个实际的例子吗?
关于TF很清楚,但还有什么?
然而它不能在mql中编译,没有参数数量可变的宏,但理论上它们可以出现。
在MQL5中,宏不仅有固定的参数数量,而且它们的数量被限制在8个。 所以你可以做一个只有3个值的枚举。
至于理论上的外观,可能会更快地得到一个内部函数来进行枚举解析,因为开发者已经承诺会做一些事情。
在MQL5中,宏不仅有固定的参数数量,而且它们的数量被限制在8个。 所以我们可以做一个只有3个值的枚举。
至于理论上的出现,可能更快得到一个用于枚举解析的内部函数。 开发人员已经承诺会拿出一些东西。
使用之前提出的使用数组进行枚举的方法。
没有为枚举器的值枚举计划迭代器。
使用之前建议的使用数组来枚举数值的方法。