错误、漏洞、问题 - 页 1707 1...170017011702170317041705170617071708170917101711171217131714...3184 新评论 Sergei Vladimirov 2016.09.25 16:59 #17061 Комбинатор: 指针被赋予rvalue,然后用新的A覆盖。在哪里,就在这里?this[0] = new A;这里的运算符[]返回单元格Data[0]中包含的值。不是对该单元格的引用,也不是对该单元格的指针,而只是该单元格中所包含的数值的 拷贝,即rvalue。当然,没有什么可以分配给这个副本。我不明白operator=如何改变这一点。 fxsaber 2016.09.25 16:59 #17062 Sergei Vladimirov: 而且我还是不明白最后一个例子。在A类中重载"="运算符,将this[0]从rvalue变成lvalue...我想不出来。这是不是MCL的某种特性,在专业术语中没有这种行为。我的意思是过载=在A。还是通过试验和错误? 在充分理解的情况下,我做到了。否则我肯定不会写这样的东西。 关于交易、自动交易系统和策略测试的论坛 图书馆:TypeToBytes fxsaber, 2016.09.21 21:25 已出版。现在,对于任何变量(结构或标准类型),不仅可以像数组一样进行读取,还可以进行写入。_W(AnyVariable)[Pos] = AnyValue; // Записывает по байтовому смещению Pos значение AnyValue в переменную AnyVariable在实现之前,这并不容易猜到--可能变成了对平均OOP熟练程度的一个很好的测试:我只知道类的经典内容。如果有人知道类似的事情,请分享链接,以便教育。 Sergei Vladimirov 2016.09.25 17:04 #17063 fxsaber: 在充分理解的情况下,我做到了。否则我就不会写这样的东西。 所以你什么都明白,但你不能说出来?))我明白了。 fxsaber 2016.09.25 17:08 #17064 Sergei Vladimirov: 所以你什么都明白,但你不能说什么?))我明白了。 是的,嗯,它发生了。我不能制定它。这就是为什么我要求开发商好好做。 Sergei Vladimirov 2016.09.25 17:09 #17065 Sergei Vladimirov:在哪里,就在这里?this[0] = new A;这里的运算符[]返回单元格Data[0]中包含的值。不是对该单元格的引用,也不是对该单元格的指针,而只是该单元格中所包含的数值的 拷贝,即rvalue。当然,没有什么可以分配给这个副本。我不明白A类中的operator=如何改变这一点。也许这都是关于MCL中引用的那些相同的问题。A* operator []( const int Pos ) { return(this.Data[Pos]); }结果可能是,这里返回的不是值,而是对它的引用,即lvalue...但为什么不能马上分配一个新的值,为什么我们在A类中需要operator=?我不明白... Alexey Navoykov 2016.09.25 19:32 #17066 Sergei Vladimirov:可能吧,这都是MKL中相同的参考资料。好像没有发现这里返回的不是一个值,而是对它的一个引用,即lvalue...但为什么不能马上分配一个新的值,为什么我们在A类中需要operator=?我不明白...当你给一个rvalue-pointer分配东西时,这个指针就会自动被转换为一个对象引用。 好吧,每个人都是昨天才出生的!我很久以来一直在向服务台提出这个问题,但他们说这不安全,尽管事实上这并不比通过引用传递参数 更危险。 Sergei Vladimirov 2016.09.26 05:51 #17067 Alexey Navoykov:当你给一个rvalue-pointer分配东西时,指针会自动转换为对象引用。 这就像昨天一样,不是吗? 我现在明白了,谢谢你。 fxsaber 2016.09.26 10:45 #17068 在功能区中突出显示行的能力是缺乏的。我可以看它,但我不能突出它。 fxsaber 2016.09.26 11:07 #17069 这到底是什么?2016.09.26 14:02:11.858 Books invalid book item[RTS-12.16,buy,98090.00000,-16] fxsaber 2016.09.26 12:56 #17070 类型不匹配MqlTick time_msc -long.CopyTicks from -ulong. 1...170017011702170317041705170617071708170917101711171217131714...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
指针被赋予rvalue,然后用新的A覆盖。
在哪里,就在这里?
this[0] = new A;
这里的运算符[]返回单元格Data[0]中包含的值。不是对该单元格的引用,也不是对该单元格的指针,而只是该单元格中所包含的数值的 拷贝,即rvalue。当然,没有什么可以分配给这个副本。我不明白operator=如何改变这一点。
而且我还是不明白最后一个例子。在A类中重载"="运算符,将this[0]从rvalue变成lvalue...我想不出来。这是不是MCL的某种特性,在专业术语中没有这种行为。我的意思是过载=在A。还是通过试验和错误?
关于交易、自动交易系统和策略测试的论坛
图书馆:TypeToBytes
fxsaber, 2016.09.21 21:25
已出版。现在,对于任何变量(结构或标准类型),不仅可以像数组一样进行读取,还可以进行写入。
_W(AnyVariable)[Pos] = AnyValue; // Записывает по байтовому смещению Pos значение AnyValue в переменную AnyVariable
在实现之前,这并不容易猜到--可能变成了对平均OOP熟练程度的一个很好的测试:我只知道类的经典内容。
如果有人知道类似的事情,请分享链接,以便教育。
在充分理解的情况下,我做到了。否则我就不会写这样的东西。
所以你什么都明白,但你不能说什么?))我明白了。
在哪里,就在这里?
this[0] = new A;
这里的运算符[]返回单元格Data[0]中包含的值。不是对该单元格的引用,也不是对该单元格的指针,而只是该单元格中所包含的数值的 拷贝,即rvalue。当然,没有什么可以分配给这个副本。我不明白A类中的operator=如何改变这一点。
也许这都是关于MCL中引用的那些相同的问题。
结果可能是,这里返回的不是值,而是对它的引用,即lvalue...但为什么不能马上分配一个新的值,为什么我们在A类中需要operator=?我不明白...
可能吧,这都是MKL中相同的参考资料。
好像没有发现这里返回的不是一个值,而是对它的一个引用,即lvalue...但为什么不能马上分配一个新的值,为什么我们在A类中需要operator=?我不明白...
当你给一个rvalue-pointer分配东西时,这个指针就会自动被转换为一个对象引用。 好吧,每个人都是昨天才出生的!
我很久以来一直在向服务台提出这个问题,但他们说这不安全,尽管事实上这并不比通过引用传递参数 更危险。
当你给一个rvalue-pointer分配东西时,指针会自动转换为对象引用。 这就像昨天一样,不是吗?
类型不匹配
MqlTick time_msc -long.
CopyTicks from -ulong.