返回2个结果的函数? - 页 2 1234 新评论 JC 2010.06.25 22:13 #11 cameofx: irusoh1的解释中缺少的是变量需要是数组[...] 。 irusoh1是对的:变量不需要是一个数组。比如说。 int start() { int returnvalue1, returnvalue2; returnvalue1 = Example(returnvalue2); MessageBox("Example 1: " + returnvalue1 + "\r\nExample 2: " + returnvalue2); } int Example(int & referenceparameter) { referenceparameter = 2; return (1); } [删除] 2010.06.26 04:06 #12 inkexit: 我需要从一个函数中返回两个结果。 如果要将这两个(或更多)结果分配给变量,只需将它们声明为全局变量,并在函数 中为它们赋值。 gordon 2010.06.26 04:26 #13 engcomp: 如果要将两个(或更多)结果分配给变量,只需将它们声明为全局变量,并在函数中给它们赋值。 尽量减少全局变量的数量 被认为是良好的编程实践。通过引用传递一些变量(如果需要返回一个以上的变量)比在全局范围内声明它们更好。 [删除] 2010.06.26 05:49 #14 gordon: 尽量减少全局变量的数量被认为是良好的编程实践。通过引用传递一些变量(如果需要返回多个变量)比在全局范围内声明它们更好。 谢谢你,Gordon,我不知道这个。 cameo 2010.06.26 07:44 #15 jjc: irusoh1是对的:变量不需要是一个数组。比如说。 那么我的措辞和概念在回答这个问题时是不正确的。不过,我认为通过引用传递的目的本质上是通过函数 来操作数组的实用方法。 在变量上使用传递参数作为引用的函数,只有修改X个变量的实用性,加上一个变量的返回 而对数组的使用允许修改括号中的X个数组乘以每个数组的Y个大小。 Iggy 2010.06.26 12:47 #16 数组总是通过引用来传递。MQL数组的问题是,它们不能在函数 中被改变(如调整大小),只有其成员可以。 这没有意义,而且限制了数组的操作范围。 也许这在MQL5中得到了解决? gordon 2010.06.27 01:01 #17 irusoh1: [...] MQL数组的问题是,它们不能在函数中被改变(如调整大小),只有其成员可以。 你可以 在函数中调整一个通过引用传递给函数 的数组的大小...你是什么意思? cameo 2010.06.27 03:25 #18 [...] MQL数组的问题是,它们不能在函数中被改变(如调整大小) only their members can 。@ irusoh1 : 你的意思是让函数参数 动态化吗? 我也不明白。 @ Gordon : 你知道为什么他们说'参数是通过值传递的。数组只能通过引用来传递'。我知道这在代码中是如何体现的,但我不明白其中的道理。例如,在其他语言中是否有不这样的情况出现?我不知道这个规则的反面是什么,,。 gordon 2010.06.27 04:39 #19 cameofx: @ Gordon : 你知道为什么他们说'参数是通过值传递的。数组只能通过引用来传递"。我知道这在代码中是如何体现的,但我不明白其中的道理。例如,在其他语言中是否有不这样的情况出现?我不知道这个规则的反面是什么,,。 这里有一个简化的解释->https://www.mql5.com/en/forum/117210。 在MQL4中,数组总是通过引用来传递。 [删除] 2010.06.27 06:51 #20 大家好 Gordon说:尽量减少全局变量的数量 被认为是良好的编程实践。通过引用传递一些变量(如果需要返回多个变量)比在全局范围内声明它们要好。 很抱歉,这不是一个 "技术性 "的回应 :) 你能说说为什么通过引用传递变量而不是全局变量更好吗? 谢谢 菲利普 1234 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
irusoh1的解释中缺少的是变量需要是数组[...] 。
irusoh1是对的:变量不需要是一个数组。比如说。
我需要从一个函数中返回两个结果。
如果要将两个(或更多)结果分配给变量,只需将它们声明为全局变量,并在函数中给它们赋值。
尽量减少全局变量的数量被认为是良好的编程实践。通过引用传递一些变量(如果需要返回多个变量)比在全局范围内声明它们更好。
irusoh1是对的:变量不需要是一个数组。比如说。
那么我的措辞和概念在回答这个问题时是不正确的。不过,我认为通过引用传递的目的本质上是通过函数 来操作数组的实用方法。
在变量上使用传递参数作为引用的函数,只有修改X个变量的实用性,加上一个变量的返回
而对数组的使用允许修改括号中的X个数组乘以每个数组的Y个大小。
数组总是通过引用来传递。MQL数组的问题是,它们不能在函数 中被改变(如调整大小),只有其成员可以。
这没有意义,而且限制了数组的操作范围。
也许这在MQL5中得到了解决?
[...] MQL数组的问题是,它们不能在函数中被改变(如调整大小),只有其成员可以。
@ irusoh1 : 你的意思是让函数参数 动态化吗? 我也不明白。
@ Gordon : 你知道为什么他们说'参数是通过值传递的。数组只能通过引用来传递'。我知道这在代码中是如何体现的,但我不明白其中的道理。例如,在其他语言中是否有不这样的情况出现?我不知道这个规则的反面是什么,,。
cameofx:
@ Gordon : 你知道为什么他们说'参数是通过值传递的。数组只能通过引用来传递"。我知道这在代码中是如何体现的,但我不明白其中的道理。例如,在其他语言中是否有不这样的情况出现?我不知道这个规则的反面是什么,,。
大家好
Gordon说:尽量减少全局变量的数量 被认为是良好的编程实践。通过引用传递一些变量(如果需要返回多个变量)比在全局范围内声明它们要好。
很抱歉,这不是一个 "技术性 "的回应 :) 你能说说为什么通过引用传递变量而不是全局变量更好吗?
谢谢
菲利普