MQL5中的OOP问题 - 页 77 1...707172737475767778798081828384...96 新评论 Igor Makanu 2020.06.10 19:19 #761 Vladimir Simakov:同意现在更复杂了))))。 我礼貌地什么也没说,虽然我想问一个例子,不是输出到日志,而是输出到文件--他们的日志更实用,更有意义,在终端的日志中了解终端输出什么,什么EA--非常不方便。 Alexandr Andreev 2020.06.10 19:21 #762 我们什么时候开始做MQ还没有的硬链接? Igor Makanu 2020.06.10 20:39 #763 标准专家,这里有一个问题。 虽然ME是一个乱七八糟的{}高亮,但在VS2019中把MQL代码复制到一个 空的C++项目 中,为什么VS会对此发誓。 struct SHash { ulong hash[2]; bool operator==(const SHash& value)const { return(this. hash[0] == value.hash[0] && this. hash[1] == value.hash[1]); } }; 写道:"表达式必须是类别型的" Maxim Kuznetsov 2020.06.10 20:42 #764 Igor Makanu:标准专家,这里有一个问题。虽然ME是一个乱七八糟的{}高亮,但在VS2019中把MQL代码复制到一个空的C++项目中,为什么VS会对此发誓。写道:"表达式必须有类的类型" 而在C++中这是一个指针... 要么覆盖*,要么明确指定-> Igor Makanu 2020.06.10 20:48 #765 Maxim Kuznetsov:而在C++中这是一个指针...要么覆盖*,要么明确指定-> 我已经习惯于把这个放在这里的所有文章中,一般不写在任何地方,这样简单的结构里面根本没有选择......没办法,我觉得 Andrei Novichkov 2020.06.10 21:03 #766 Igor Makanu:标准专家,这里有一个问题。虽然ME是一个乱七八糟的{}高亮,但在VS2019中把MQL代码复制到一个空的C++项目中,为什么VS会对此发誓。写道:"表达式必须是类别型的" 这就是它应该是这样的。 struct SHash { long hash[2]; bool operator==(const SHash& value)const { return(this->hash[0] == value.hash[0] && this->hash[1] == value.hash[1]); } }; Igor Makanu 2020.06.10 21:10 #767 Andrei Novichkov:这就是它应该是这样的。 我需要它在MQL中,我下载了VS作为编辑器,来浏览代码,看看我能看到什么 )) 但在MQL的这样一个结构中--写这个没有意义? Andrei Novichkov 2020.06.10 21:28 #768 Igor Makanu:我需要它在MQL中,我下载了VS作为编辑器,浏览代码,看看我能看到什么))))。但在MQL的这样一个结构中--写这个没有意义? 我需要检查,但乍一看,这种表达方式不仅在MQL中没有意义) Alexey Navoykov 2020.06.11 07:27 #769 Igor Makanu:一遍又一遍地写--我有时间(因为我不看电视 )))- 收集关于语言特性的技术信息,OOP...凡是有问题的地方--论坛都很活跃,我利用这个机会 "百分百";) 问题是--如果我可以直接从MQL中调用我的夏普代码,那么从C#转移到MQL有什么意义,除非我想把它放到Market中或在MQ-cloud中进行优化。 毕竟从C#到MQL的过渡,我想是非常痛苦的)在习惯了与对象一起工作 的便利和轻松之后,你不必担心它们的删除,在这里你得到的是相反的。总之,一个成熟的OOP需要为被引用的对象提供一个引用计数器。 在C++中,它是通过一个包装器--智能指针来解决的。 在MQL中,智能指针的使用是非常麻烦的,因为缺少操作符->,还有其他问题。 因此,如果从C++转换,一切或多或少都是清楚的:你会得到很多不便和限制,但总的来说是类似的东西。但当我从夏普转过来时,我没有看到任何好处。只有缺点 ) Vladimir Simakov 2020.06.11 08:15 #770 Igor Makanu:我有一个诀窍,就是把这个粘在这里的所有文章中,一般来说不写在任何地方,这样简单的设计里面根本没有选择......庞士元,IMHO 一般来说,很多有争议的风格是强加在这里的))))。同样的 return (retValue); 为什么要用托架?这不是JS,虽然你也不一定要在那里做。 如果你真的需要这个,并且它将是正确的,那么就用这个宏置换代替 #ifdef __cplusplus #define THIS *this #else #define THIS this #endif 1...707172737475767778798081828384...96 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
同意现在更复杂了))))。
我礼貌地什么也没说,虽然我想问一个例子,不是输出到日志,而是输出到文件--他们的日志更实用,更有意义,在终端的日志中了解终端输出什么,什么EA--非常不方便。
我们什么时候开始做MQ还没有的硬链接?
标准专家,这里有一个问题。
虽然ME是一个乱七八糟的{}高亮,但在VS2019中把MQL代码复制到一个 空的C++项目 中,为什么VS会对此发誓。
写道:"表达式必须是类别型的"
标准专家,这里有一个问题。
虽然ME是一个乱七八糟的{}高亮,但在VS2019中把MQL代码复制到一个空的C++项目中,为什么VS会对此发誓。
写道:"表达式必须有类的类型"
而在C++中这是一个指针...
要么覆盖*,要么明确指定->
而在C++中这是一个指针...
要么覆盖*,要么明确指定->
我已经习惯于把这个放在这里的所有文章中,一般不写在任何地方,这样简单的结构里面根本没有选择......没办法,我觉得
标准专家,这里有一个问题。
虽然ME是一个乱七八糟的{}高亮,但在VS2019中把MQL代码复制到一个空的C++项目中,为什么VS会对此发誓。
写道:"表达式必须是类别型的"
这就是它应该是这样的。
这就是它应该是这样的。
我需要它在MQL中,我下载了VS作为编辑器,来浏览代码,看看我能看到什么 ))
但在MQL的这样一个结构中--写这个没有意义?
我需要它在MQL中,我下载了VS作为编辑器,浏览代码,看看我能看到什么))))。
但在MQL的这样一个结构中--写这个没有意义?
一遍又一遍地写--我有时间(因为我不看电视 )))- 收集关于语言特性的技术信息,OOP...凡是有问题的地方--论坛都很活跃,我利用这个机会 "百分百";)
问题是--如果我可以直接从MQL中调用我的夏普代码,那么从C#转移到MQL有什么意义,除非我想把它放到Market中或在MQ-cloud中进行优化。
毕竟从C#到MQL的过渡,我想是非常痛苦的)在习惯了与对象一起工作 的便利和轻松之后,你不必担心它们的删除,在这里你得到的是相反的。总之,一个成熟的OOP需要为被引用的对象提供一个引用计数器。 在C++中,它是通过一个包装器--智能指针来解决的。 在MQL中,智能指针的使用是非常麻烦的,因为缺少操作符->,还有其他问题。
因此,如果从C++转换,一切或多或少都是清楚的:你会得到很多不便和限制,但总的来说是类似的东西。但当我从夏普转过来时,我没有看到任何好处。只有缺点 )
我有一个诀窍,就是把这个粘在这里的所有文章中,一般来说不写在任何地方,这样简单的设计里面根本没有选择......庞士元,IMHO
一般来说,很多有争议的风格是强加在这里的))))。同样的
return (retValue);
为什么要用托架?这不是JS,虽然你也不一定要在那里做。
如果你真的需要这个,并且它将是正确的,那么就用这个宏置换代替