打字问题 - 页 7 12345678910 新评论 pavlick_ 2018.12.10 15:39 #61 Dmitry Fedoseev:人们有什么问题呢?)我将长命百岁! 顺便说一下,写d=array[5].to_double()比d=(double)array[5]简单多了,只要按一个点 就可以了。但我们不是在寻找简单的方法。为什么要写d=(double)array[5]?这就是我们的想法--不要去管这些琐事。下面是一段真实的代码。 MYCRTMFLT(i+1, chart[MYSEG(MYSCNT-i).start].time, chart[MYSEG(MYSCNT-i).start].price, chart[MYSEG(MYSCNT-i).top].time, chart[MYSEG(MYSCNT-i).top].price, chart[MYSEG(MYSCNT-i).top].price>chart[MYSEG(MYSCNT-i).start].price? MYCLRUP : MYCLRDOWN, STYLE_SOLID, true); chart[index]返回结构{price; time} 而我为什么要一直给它加上.time/.price,因为在大多数情况下,你可以从上下文中理解它?是的,有时你需要提示(如倒数第二行),但在大多数情况下,生活会更轻松,写作也会减少。 Ilya Malev 2018.12.10 15:40 #62 Dmitry Fedoseev:人们有什么问题呢?)我将长命百岁! 顺便说一下,写d=array[5].to_double()比d=(double)array[5]容易得多,只是要按一下。但我们不是在寻找简单的方法。是的,当然,当人们在编译时已经知道d不可能是任何东西,而是双数时,就必须写d=(双数)数组[5]。 老鼠哭着求饶,但还是继续咬着仙人掌...... Maxim Kuznetsov 2018.12.10 15:46 #63 Ilya Malev:是的,当然,写d=(double)array[5]是必须的,因为在编译过程中已经知道d 不能是任何东西,只能是double......老鼠哭着求饶,却一直啃着仙人掌......在C++中,他们将Oregatog<=>重载为d,啃咬和不哭;-) PS/,考虑到关联性和优先级,使用<<运算符是更合适的。 Dmitry Fedoseev 2018.12.10 15:50 #64 pavlick_:为什么要写d=(double)array[5]?这就是我们的想法--不要去管这些琐事。下面是一个真实的代码片段。 chart[index]返回结构{price; time}.而在大多数情况下,我们可以从上下文中了解到,为什么我一直要给它加上.time/.price?是的,有时你需要提示(如倒数第二行),但在大多数情况下,生活会更轻松,写作也会减少。程序员打算重载(double),使array[5]返回数字double,而不是某个对象。难道不是这样吗? 在给定的例子中,这个背景在哪里,我们可以理解它?可能是,MYCRTMFLT参数类型?这是一个关于返回值类型的重载。 Ilya Malev 2018.12.10 15:50 #65 fxsaber:如果你真的想,你可以这样做 等。 _W(Color)[2] = (uchar)230; // Записали по смещению 2 значение (uchar)230. PRINT(Color) // Убедились, что Color теперь C'241,248,230' 这不是和Print(ColorToString(Color&(uint(-1)&65535)|(230<<16))一样吗?我担心如果我继续研究你的代码,我会打破我的大脑。 我的意思是,你的方法中的一切都令人钦佩(不是开玩笑),除了大量的大写字母与下划线和上下文解决操作:) 我认为,如果允许它(上下文决议的操作)超载,你和你的图书馆将进入星际:笑。 Ilya Malev 2018.12.10 15:52 #66 Maxim Kuznetsov:PS/,由于关联性和优先级的关系,使用<<运算符是更合适的。坦率地说,我也想到了这一点。用">>"超载,不受影响。但这并没有消除允许重载T()的可取性 pavlick_ 2018.12.10 16:01 #67 Dmitry Fedoseev:根据我的理解,他们将在这里进行重载, 所以array[5]将返回的不是某个对象,而是数字双。难道不是这样吗? 在这个例子中,哪里有这种可以被理解的背景?是MYCRTMFLT参数类型吗?这是对返回值类型的一个重载。我完全看不出有什么问题。 double d; d = chart[i]; // call operator double void f(datetime t); f(chart[i]); // call operator datetime 宏将以一些标识符或函数调用 结束,编译器将理解对它的期望。如果它不这样做(编译错误,并为模棱两可而发誓),那么你可以随时帮助它:chart[i].price Dmitry Fedoseev 2018.12.10 16:06 #68 Ilya Malev:是的,当然,我们必须写d=(double)array[5],而在编译过程中,我们已经知道d不可能是任何东西,而是double......老鼠哭了又哭,却一直在啃着仙人掌......除了d之外,还有一个名称为数组的东西。 当编译器警告说分配了不适当的类型时,这一点也不坏。我们应该向编译器表明,写这段代码的人对结果负全责,这样他们以后就不会抱怨没有编译器生成的警告 了。 Dmitry Fedoseev 2018.12.10 16:07 #69 pavlick_:我完全看不出有什么问题。 ... 我也不知道。 Ilya Malev 2018.12.10 16:29 #70 Dmitry Fedoseev:编译器对分配不适当的类型发出警告,这一点也不坏。我们需要向编译器表明,写这个东西的人要对结果负全责,这样他们以后就不会抱怨没有编译器的警告 了。只是在这种情况下,他自己为这个赋值定义了operator double(){...}方法,显然不是为了以后能在double类型的变量后面写上(double)或者得到编译器的警告。 总的来说,对话显然是在绕圈子,让我们希望类型重载最终会被允许,我个人不会介意为了启用它,我在选项的某个地方打上勾,并确认 "我同意对结果负全责"。 12345678910 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
人们有什么问题呢?)我将长命百岁!
顺便说一下,写d=array[5].to_double()比d=(double)array[5]简单多了,只要按一个点 就可以了。但我们不是在寻找简单的方法。
为什么要写d=(double)array[5]?这就是我们的想法--不要去管这些琐事。下面是一段真实的代码。
chart[index]返回结构{price; time} 而我为什么要一直给它加上.time/.price,因为在大多数情况下,你可以从上下文中理解它?是的,有时你需要提示(如倒数第二行),但在大多数情况下,生活会更轻松,写作也会减少。
人们有什么问题呢?)我将长命百岁!
顺便说一下,写d=array[5].to_double()比d=(double)array[5]容易得多,只是要按一下。但我们不是在寻找简单的方法。
是的,当然,当人们在编译时已经知道d不可能是任何东西,而是双数时,就必须写d=(双数)数组[5]。 老鼠哭着求饶,但还是继续咬着仙人掌......
是的,当然,写d=(double)array[5]是必须的,因为在编译过程中已经知道d 不能是任何东西,只能是double......老鼠哭着求饶,却一直啃着仙人掌......
在C++中,他们将Oregatog<=>重载为d,啃咬和不哭;-)
PS/,考虑到关联性和优先级,使用<<运算符是更合适的。为什么要写d=(double)array[5]?这就是我们的想法--不要去管这些琐事。下面是一个真实的代码片段。
chart[index]返回结构{price; time}.而在大多数情况下,我们可以从上下文中了解到,为什么我一直要给它加上.time/.price?是的,有时你需要提示(如倒数第二行),但在大多数情况下,生活会更轻松,写作也会减少。
程序员打算重载(double),使array[5]返回数字double,而不是某个对象。难道不是这样吗?
在给定的例子中,这个背景在哪里,我们可以理解它?可能是,MYCRTMFLT参数类型?这是一个关于返回值类型的重载。
如果你真的想,你可以这样做
等。
我担心如果我继续研究你的代码,我会打破我的大脑。
我的意思是,你的方法中的一切都令人钦佩(不是开玩笑),除了大量的大写字母与下划线和上下文解决操作:)
我认为,如果允许它(上下文决议的操作)超载,你和你的图书馆将进入星际:笑。
PS/,由于关联性和优先级的关系,使用<<运算符是更合适的。
坦率地说,我也想到了这一点。用">>"超载,不受影响。但这并没有消除允许重载T()的可取性
根据我的理解,他们将在这里进行重载, 所以array[5]将返回的不是某个对象,而是数字双。难道不是这样吗?
在这个例子中,哪里有这种可以被理解的背景?是MYCRTMFLT参数类型吗?这是对返回值类型的一个重载。
我完全看不出有什么问题。
宏将以一些标识符或函数调用 结束,编译器将理解对它的期望。如果它不这样做(编译错误,并为模棱两可而发誓),那么你可以随时帮助它:chart[i].price
是的,当然,我们必须写d=(double)array[5],而在编译过程中,我们已经知道d不可能是任何东西,而是double......老鼠哭了又哭,却一直在啃着仙人掌......
除了d之外,还有一个名称为数组的东西。
当编译器警告说分配了不适当的类型时,这一点也不坏。我们应该向编译器表明,写这段代码的人对结果负全责,这样他们以后就不会抱怨没有编译器生成的警告 了。
我完全看不出有什么问题。
...
编译器对分配不适当的类型发出警告,这一点也不坏。我们需要向编译器表明,写这个东西的人要对结果负全责,这样他们以后就不会抱怨没有编译器的警告 了。
只是在这种情况下,他自己为这个赋值定义了operator double(){...}方法,显然不是为了以后能在double类型的变量后面写上(double)或者得到编译器的警告。
总的来说,对话显然是在绕圈子,让我们希望类型重载最终会被允许,我个人不会介意为了启用它,我在选项的某个地方打上勾,并确认 "我同意对结果负全责"。