MQL5中的OOP问题 - 页 18 1...111213141516171819202122232425...96 新评论 Roman 2019.08.11 21:29 #171 你能告诉我它有什么不同吗? 以这种方式创建一个对象,或指针 class CClass { public: }CObj, *pCObj; 来自经典的生物 CClass CObj; CClass *CObj; 注意到专业人员的不同行为,开始想知道为什么,文献检索,甚至不知道第一种方式叫什么。 Koldun Zloy 2019.08.12 02:05 #172 Roman: 你能告诉我这有什么不同吗? 以这种方式创建一个对象,或指针 来自经典的生物 我注意到李子的不同行为,我想知道为什么,还有文献搜索,我甚至不知道该怎么称呼第一种寻找方式。 无论是在MQL还是在pluses方面,都没有区别。 Roman 2019.08.12 02:23 #173 Koldun Zloy: 无论是在MQLs还是在pluses方面,这都没有什么不同。 你不明白这个问题。区别不在于语言,而在于声明本身。 我不明白第一个例子中的对象的行为。 我的猜测是,该对象在堆栈中以同样的方式创建,并在调用类的析构器 后销毁,而且该对象在代码中是全局可见的。 这就是我想澄清的问题,第一种方法的行为是什么? 我的猜测是否正确? 在google中找到它叫什么? 因为我注意到(不是在mql中,而是在C++中),如果你以不同的方式创建一个对象,那么使用的方法中的行为就会改变,而不是像预期的那样。 Koldun Zloy 2019.08.12 02:26 #174 Roman: 你不明白这个问题。区别不在于语言,而在于声明本身。 我不明白第一个例子中的对象的行为。 我的猜测是,该对象也是在堆栈中创建的,在调用类的析构器 后被销毁,该对象在代码中是全局可见的。 这就是我想澄清的问题,第一种方法的行为是什么? 我的猜测是否正确? 它叫什么,我可以用谷歌搜索? 因为我注意到,如果你以不同的方式创建一个对象,所使用的方法中的行为就会改变,而不是像预期的那样。 我理解这个问题。广告中没有任何区别。 Roman 2019.08.12 02:45 #175 Koldun Zloy: 我理解这个问题。广告中没有任何区别。 差别很可能是在范围上。 一个文件中的第一个例子总是全局可见的,第二个例子或新的,可以在一个函数中隐藏。 Koldun Zloy 2019.08.12 03:40 #176 Roman: 差别很可能是在范围上。 一个文件中的第一个例子总是全局可见,第二个例子或新的,可以在一个函数中隐藏。 这里的区别不在于你如何声明,而是在哪里。 Roman 2019.08.12 04:09 #177 Koldun Zloy: 这里的区别不在于你如何申报,而是在哪里申报。 我也是通过逻辑推理得出这个结论的:) ) 我想确定我的想法是正确的。谢谢你的澄清。 Igor Makanu 2019.08.29 07:34 #178 Vladimir Simakov: lotDigits=MathMax(-(int)MathFloor(MathLog10(lotStep)),0); 我检查了一下,这段代码在计算小数点时不能正确工作 基本上,我的也不一定能正常工作,我知道。 一个脚本来检查它。 void OnStart() { double l=0.0; for(int i=0; i<100; i++) { Print(l," ---> LotDigits / MyDigits = ",LotDigits(l)," / ",MyDigits(l)); l+=0.003; } } //+------------------------------------------------------------------+ int LotDigits(double value) { return(MathMax(-(int)MathFloor(MathLog10(value)),0)); } //+------------------------------------------------------------------+ int MyDigits(double v) { long i=10000000,k=long(v/0.0000001); int d=0; while(d<7 && k%i>0) { i/=10; d++; } return(d); } //+------------------------------------------------------------------+ 我附上了脚本日志。 附加的文件: 20190829.log 9 kb Georgiy Merts 2019.08.29 08:06 #179 Roman: 你能告诉我它有什么不同吗? 以这种方式创建一个对象,或指针 来自经典的生物 在专业人员中,我注意到不同的行为,我想知道为什么,而文献搜索,我甚至不知道该如何称呼第一种方式的外观。 就我个人而言,我也看不出有什么不同,但这种写作风格对我来说似乎相当危险。 指针在创建时必须立即等于NULL或者等于一个真实对象的指针。一个小的内存空间被创建,这个指针将被存放在那里,可以是一个空值,也可以是一个普通指针。 另一方面,声明一个对象,创建整个对象,调用构造函数并分配内存。 Vladimir Simakov 2019.08.29 08:33 #180 Igor Makanu: 我检查了一下,这段代码在计算小数点时没有正确工作 基本上,我的也不一定能正常工作,我知道。 一个脚本来检查它。 我附上了脚本日志。 我有一个假设,不会有很多,比如0.15。至少我没有听说过它。如果我突然看到一个,我就会重做。 1...111213141516171819202122232425...96 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你能告诉我它有什么不同吗?
以这种方式创建一个对象,或指针
来自经典的生物
注意到专业人员的不同行为,开始想知道为什么,文献检索,甚至不知道第一种方式叫什么。
你能告诉我这有什么不同吗?
以这种方式创建一个对象,或指针
来自经典的生物
我注意到李子的不同行为,我想知道为什么,还有文献搜索,我甚至不知道该怎么称呼第一种寻找方式。
无论是在MQL还是在pluses方面,都没有区别。
无论是在MQLs还是在pluses方面,这都没有什么不同。
你不明白这个问题。区别不在于语言,而在于声明本身。
我不明白第一个例子中的对象的行为。
我的猜测是,该对象在堆栈中以同样的方式创建,并在调用类的析构器 后销毁,而且该对象在代码中是全局可见的。
这就是我想澄清的问题,第一种方法的行为是什么?
我的猜测是否正确?
在google中找到它叫什么?
因为我注意到(不是在mql中,而是在C++中),如果你以不同的方式创建一个对象,那么使用的方法中的行为就会改变,而不是像预期的那样。
你不明白这个问题。区别不在于语言,而在于声明本身。
我不明白第一个例子中的对象的行为。
我的猜测是,该对象也是在堆栈中创建的,在调用类的析构器 后被销毁,该对象在代码中是全局可见的。
这就是我想澄清的问题,第一种方法的行为是什么?
我的猜测是否正确?
它叫什么,我可以用谷歌搜索?
因为我注意到,如果你以不同的方式创建一个对象,所使用的方法中的行为就会改变,而不是像预期的那样。
我理解这个问题。广告中没有任何区别。
我理解这个问题。广告中没有任何区别。
差别很可能是在范围上。
一个文件中的第一个例子总是全局可见的,第二个例子或新的,可以在一个函数中隐藏。
差别很可能是在范围上。
一个文件中的第一个例子总是全局可见,第二个例子或新的,可以在一个函数中隐藏。
这里的区别不在于你如何声明,而是在哪里。
这里的区别不在于你如何申报,而是在哪里申报。
我也是通过逻辑推理得出这个结论的:) )
我想确定我的想法是正确的。谢谢你的澄清。
我检查了一下,这段代码在计算小数点时不能正确工作
基本上,我的也不一定能正常工作,我知道。
一个脚本来检查它。
我附上了脚本日志。
你能告诉我它有什么不同吗?
以这种方式创建一个对象,或指针
来自经典的生物
在专业人员中,我注意到不同的行为,我想知道为什么,而文献搜索,我甚至不知道该如何称呼第一种方式的外观。
就我个人而言,我也看不出有什么不同,但这种写作风格对我来说似乎相当危险。
指针在创建时必须立即等于NULL或者等于一个真实对象的指针。一个小的内存空间被创建,这个指针将被存放在那里,可以是一个空值,也可以是一个普通指针。
另一方面,声明一个对象,创建整个对象,调用构造函数并分配内存。
我检查了一下,这段代码在计算小数点时没有正确工作
基本上,我的也不一定能正常工作,我知道。
一个脚本来检查它。
我附上了脚本日志。