MQL5中的OOP问题 - 页 89

 
如果该结构有一个字段,那就可以了。如果有更多,那就毫无意义,甚至是愚蠢的。
 
Dmitry Fedoseev:
如果该结构有一个字段,那就可以了。如果有更多,那就毫无意义,甚至是愚蠢。

谁会想要一个单一领域的结构?这种 "结构 "有什么帮助?

 
Mikhail Dovbakh:

谁会想要一个单一领域的结构?这种 "结构化 "有什么帮助?

数组上的结构封装器

MQL不能处理指针,但它可以处理没有约束的结构,所以你必须把数组包在一个结构中

 
Igor Makanu:

数组上的结构封装器

MQL不能处理指针,但它可以处理结构,没有任何限制,所以我们必须把数组包装成一个结构

把它包在一个班里不是更容易吗?不过,在处理静态数据列表时,这种结构首先是一种优势。另外,在处理一个动态结构时,以后再登陆就不方便了。

 
Alexandr Andreev:

把它包在一个班里不是更容易吗?在处理静态的数据列表时,结构主要是一种优势。而当你和一个动态结构一起工作时,要登陆它是不方便的。

更简单的是在

而为了避免类型相乘,我做了一个描述结构的公共部分的类,在类外部分地使用这些类型。

把它们当作正常的结构来使用,唯一的问题是有更多的冒号,但我不会说它困扰着我。

 
Mikhail Dovbakh:

谁会想要一个单一领域的结构?这种 "结构 "有什么帮助?

那是一个......他叫什么名字......。修辞学论文))。

然而,有时将一个数组放入一个结构中,然后从这些结构中使用一个数组可能是有用的。

 
它工作得很好。只有一件事。当一个结构从一个函数中返回时,返回的不是函数内部创建的结构,而是这个结构的一个拷贝,即启动了一个隐含的拷贝构造器。
 
Vladimir Simakov:
它工作得很好。只有一件事。当结构体从函数中返回时,它不是在函数内部创建的结构体,而是这个结构体的副本,也就是说,启动了隐含的复制构造器。
没有不必要的复制,结构是在堆栈中创建的,所需的字段是从里面复制出来的。
 
Aliaksandr Hryshyn:
没有不必要的复制,结构是在堆栈中创建的,所需的字段是从里面复制出来的。
这是在编译器对其进行优化的情况下。但否则,在调用f()时,会发生以下情况。栈顶的指针被结构的大小移位(结果将在这里返回)。函数代码在堆栈中上升。此外,在执行的过程中,我们得到了结构的声明。堆栈指针再次转移到其大小。正是这个结构充满了功能。在函数退出之前,为函数中的结构分配的内存被复制到为返回分配的内存中。
 
Vladimir Simakov:
这是在编译器共同优化的情况下。否则,当f()被调用时,将发生以下情况。堆栈节点指针被移到结构的大小(这是结果将被返回的地方)。函数代码在堆栈中上升。此外,在执行的过程中,我们得到了结构的声明。堆栈指针再次转移到其大小。正是这个结构充满了功能。在函数退出之前,为函数中的结构分配的内存被复制到为返回分配的内存中。
最有可能的是,它优化了它。