从MQL4到dll传递一个二维数组 - 页 3 1234567 新评论 Debugger 2013.04.15 13:56 #21 TheXpert: 在MQL4中没有多维数组。把它作为一个一维的来传输。主要是正确计算大小并传输。 intArrayResize( object&array[], int new_size) 设置数组第一维的新尺寸。如果成功执行,该函数返回调整大小后数组中包含的所有元素的数量,否则返回-1,数组不调整大小。 注意:在任何函数中局部声明的数组,如果被调整过大小,在函数完成后将保持不变。当函数被 再次调用 时,这样的数组将与声明的数组大小不同。 参数。 阵列[] - 用于调整大小的阵列。 新尺寸 - 第一个维度的新尺寸。例子。double array1[][4]; int element_count=ArrayResize(array1, 20); // 新大小--80个元素 这是帮助中的一句话,同时也是对帖子作者关于MQL中所有数组都是一维的回应。 TheXpert 2013.04.15 15:17 #22 Debugger:这是帮助中的一句话,同时也是对帖子作者的回答,MQL中的所有数组都是一维的。 这是在一维数组之上的一个函数。试图证明这一点。 Debugger 2013.04.15 16:55 #23 为什么要重新发明轮子并试图显得比C++开发人员更聪明? TarasBY 2013.04.15 17:47 #24 Debugger: 为什么要重新发明轮子并试图显得比C++开发人员更聪明? 我们所想的和实际存在的往往是截然不同的事情,当我们试图为他人着想时更是如此。你真的认为瓦迪姆除了 "看起来比开发者更聪明 "之外,没有别的事情可做吗?你这么了解这个人,还能这样幻想吗?我很害怕生活在一个被扭曲到这种程度的世界里......。:)))如果一个人改变/修改/重新设计早先由别人创造的东西--那是他的权利!如果一个人改变/修改/重新设计,那是他的权利。为自己改变世界是正常的,尽管这违背了公认的 "适应不断变化的世界"......。;) Vadim Zhunko 2013.04.15 18:35 #25 我想知道这样的 "自行车 "在哪里?:-))在写作之前,我把所有东西都挖了一遍。甚至在Boost中也没有。更不用说C++了,这和它没有关系,STL中也没有这样的东西。顺便说一下,这个问题没有完整的解决方案。我就不多说了,但C++的能力不足以解决这个问题。我咨询了Windgrad的情况。那里有一些好的程序员。他们一了解到这个任务,就立即预测到一些具体问题。当然,我几乎解决了所有的问题。原则上,仍有无法解决的问题。这些都是与通过索引操作符"[]"处理数组内容有关的问题。互联网上没有人知道如何做。我已经做了一个拐杖。现在我们几乎可以完全使用"[]"运算符,但我们必须为最后一个维度提供一定的索引类型(我们很容易忘记这样做,而且编译器也不会警告我们)。然后它就像一个通常的多维数组 一样工作,通过[]进行索引。也就是说,该运算符被重载了4次,且索引类型不同。一个重载是通过之前的[]运算符的最后一次线性索引计算返回单元格内容。其他重载会返回一个对象,这样就可以再次使用[]操作符。在某些情况下,会触发一个类型转换操作,返回最后访问的单元格的内容。在某些情况下,这并不奏效。可能有一些问题,只有当程序不能正常工作时,你才会知道。在某些情况下,编译器会有所帮助。在其他方面,它是为可能的用户错误而设置的例外。我已经努力为所有的情况提供服务。主要的问题是这些。a[0][1][2] = a[0][1][3] + a[0][5][2] / a[0][8][12]; // Здесь на всякий случай надо в последнем измерении использовать тип _SIZE_T. Для логических операций тоже надо.有一个at()方法。它完全彻底地取代了运算符"[]"。该类受到关键部分的保护,可以在多线程的应用程序中工作。 TheXpert 2013.04.15 18:43 #26 Zhunko:不,这超出了我的能力范围,我不能默默地读它。你是一个小规模的自行车爱好者。最简单的实现是不久前在mql5中发布的(!),行数是100行。 Vadim Zhunko 2013.04.15 18:48 #27 TheXpert:不,这超出了我的能力范围,我不能默默地读它。你是一个小规模的自行车爱好者。最简单的实现是不久前在mql5中发布的(!),行数是100行。 外面是垃圾。 TheXpert 2013.04.15 18:53 #28 Zhunko: 那是胡说八道。 哦,是的,没有废话,只有伟大的大师瓦迪姆,跪在他的面孔前。呃...成绩不好的人有最大的自负。他们学会了使用msdn和帮助,他们写了超过1000行的文字,就这样,我是一个明星。我在某个地方听到了单子和XP这个词,就是这样,我知道编程模式和方法。我是一个 他妈的设计师...你应该为自己感到羞耻,你不是一个男孩。 TarasBY 2013.04.15 19:07 #29 瓦迪姆!你有兴趣在这种("你自己是个傻瓜")级别的"自取灭亡 "的人 的论证上浪费时间吗? Vadim Zhunko 2013.04.15 19:39 #30 TheXpert:哦,是的,没有废话,只有伟大的大师瓦迪姆,跪在他的面孔前。呃...成绩不好的人有最大的自负。他们学会了使用msdn和帮助,他们写了超过1000行的文字,就这样,我是一个明星。我在某个地方听到了单子和XP这个词,就是这样,我知道编程模式和方法。我是一个他妈的设计师...你应该为自己感到羞耻,你不是一个男孩。安德鲁,你为什么不向我展示一下你是怎样一个超级程序员?第一步是解释你是如何解决问题的。我写了我是如何解决的。现在你告诉我。然后我们将一起研究你的错误观念。再说一次,我不是一个程序员。我比这更好。===========顺便说一下,我没有少于1000行的项目。通常是几十倍。这个类(基础)有5110行+2个2500行的继承类。这还不算项目中使用的一打类似的。 1234567 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
在MQL4中没有多维数组。把它作为一个一维的来传输。主要是正确计算大小并传输。
注意:在任何函数中局部声明的数组,如果被调整过大小,在函数完成后将保持不变。当函数被 再次调用 时,这样的数组将与声明的数组大小不同。
这是帮助中的一句话,同时也是对帖子作者关于MQL中所有数组都是一维的回应。
这是帮助中的一句话,同时也是对帖子作者的回答,MQL中的所有数组都是一维的。
为什么要重新发明轮子并试图显得比C++开发人员更聪明?
我们所想的和实际存在的往往是截然不同的事情,当我们试图为他人着想时更是如此。
你真的认为瓦迪姆除了 "看起来比开发者更聪明 "之外,没有别的事情可做吗?你这么了解这个人,还能这样幻想吗?我很害怕生活在一个被扭曲到这种程度的世界里......。:)))
如果一个人改变/修改/重新设计早先由别人创造的东西--那是他的权利!如果一个人改变/修改/重新设计,那是他的权利。为自己改变世界是正常的,尽管这违背了公认的 "适应不断变化的世界"......。;)
我想知道这样的 "自行车 "在哪里?:-))
在写作之前,我把所有东西都挖了一遍。甚至在Boost中也没有。更不用说C++了,这和它没有关系,STL中也没有这样的东西。
顺便说一下,这个问题没有完整的解决方案。我就不多说了,但C++的能力不足以解决这个问题。
我咨询了Windgrad的情况。那里有一些好的程序员。他们一了解到这个任务,就立即预测到一些具体问题。当然,我几乎解决了所有的问题。原则上,仍有无法解决的问题。这些都是与通过索引操作符"[]"处理数组内容有关的问题。互联网上没有人知道如何做。我已经做了一个拐杖。现在我们几乎可以完全使用"[]"运算符,但我们必须为最后一个维度提供一定的索引类型(我们很容易忘记这样做,而且编译器也不会警告我们)。然后它就像一个通常的多维数组 一样工作,通过[]进行索引。也就是说,该运算符被重载了4次,且索引类型不同。一个重载是通过之前的[]运算符的最后一次线性索引计算返回单元格内容。其他重载会返回一个对象,这样就可以再次使用[]操作符。在某些情况下,会触发一个类型转换操作,返回最后访问的单元格的内容。在某些情况下,这并不奏效。可能有一些问题,只有当程序不能正常工作时,你才会知道。在某些情况下,编译器会有所帮助。在其他方面,它是为可能的用户错误而设置的例外。我已经努力为所有的情况提供服务。
主要的问题是这些。
有一个at()方法。它完全彻底地取代了运算符"[]"。
该类受到关键部分的保护,可以在多线程的应用程序中工作。
不,这超出了我的能力范围,我不能默默地读它。
你是一个小规模的自行车爱好者。最简单的实现是不久前在mql5中发布的(!),行数是100行。
不,这超出了我的能力范围,我不能默默地读它。
你是一个小规模的自行车爱好者。最简单的实现是不久前在mql5中发布的(!),行数是100行。
那是胡说八道。
哦,是的,没有废话,只有伟大的大师瓦迪姆,跪在他的面孔前。
呃...成绩不好的人有最大的自负。他们学会了使用msdn和帮助,他们写了超过1000行的文字,就这样,我是一个明星。我在某个地方听到了单子和XP这个词,就是这样,我知道编程模式和方法。我是一个 他妈的设计师...
你应该为自己感到羞耻,你不是一个男孩。
哦,是的,没有废话,只有伟大的大师瓦迪姆,跪在他的面孔前。
呃...成绩不好的人有最大的自负。他们学会了使用msdn和帮助,他们写了超过1000行的文字,就这样,我是一个明星。我在某个地方听到了单子和XP这个词,就是这样,我知道编程模式和方法。我是一个他妈的设计师...
你应该为自己感到羞耻,你不是一个男孩。
安德鲁,你为什么不向我展示一下你是怎样一个超级程序员?第一步是解释你是如何解决问题的。我写了我是如何解决的。现在你告诉我。然后我们将一起研究你的错误观念。
再说一次,我不是一个程序员。我比这更好。
===========
顺便说一下,我没有少于1000行的项目。通常是几十倍。这个类(基础)有5110行+2个2500行的继承类。这还不算项目中使用的一打类似的。