通用类库 - 错误、说明、问题、使用功能和建议 - 页 3

 
阿列克谢-奥列什金
不,因为这种观点已经被表达了100次,而且这里又有他们的萨摩耶,如OOP是邪恶的等等,你已经听够了,你已经厌倦了这种观点。
至少他们有自己的看法。至少在一些与他人意见不同的地方...
 
弗拉基米尔-卡尔普托夫

你的意见通常是一部《战争与和平》的三卷本论文。所以最好是克制。

注意--这是一位版主的第二次请求。

我明白你的意思。
 
弗拉基米尔-卡尔普托夫

你的意见通常是一部《战争与和平》的三卷本论文。所以最好是克制。

注意--这是一位版主的第二次请求。

来吧,让他发帖。但他的意见必须得到辩护,我们将要求他这样做。

 
标签 Konow:

这是一个有趣的话题。

我个人认为,在编程中没有什么比知道如何在数组中正确组织数据以及如何在循环中正确处理这些数组更有效的了。这是基础知识的基础。所有其他的解决方案都是派生 的,这需要额外的计算机时间并产生开销。

全局数组、局部数组、循环和函数。一切都是。

那些熟练掌握这些工具的人将在效率上领先于其他人。

我认为。

彼得,你的请求被听到了。所以,如果你想留在这个话题里,就用你的代码证明你有权利这样说话。接下来将是使用和性能测量的例子。我将要求你以你的方式执行类似的简单任务。你的方式应该超过那些要在这里发表的人(或至少保持在同一水平)。

如果你拒绝,请不要再在这个主题中发帖。

 
瓦西里-索科洛夫

来吧,让他发帖。但他的意见需要得到辩护,我们将要求他这样做。

显然,我的意见是伤人的。我宁愿弃权。

人们已经厌倦了它......)

p.s. 如果你愿意,我会在一个特别的主题中尝试证明我的观点。

 
瓦西里-索科洛夫

彼得,你的申请已经被听取了。所以,如果你想留在这个话题里,就用你的代码证明你有权利这么说。接下来将是使用和性能测量的例子。我将要求你以你的方式执行类似的简单任务。你的方式应该超过那些要在这里发表的人(或至少保持在同一水平)。

如果你拒绝,请不要再在这个主题中发帖。

我不拒绝。但你可以看到,我被要求不要写和做警告。

 

好啊,至少在正确的方向上迈出了一些步伐。
我以为会使用C++实现,但在打开https://www.mql5.com/ru/docs/standardlibrary/generic,就发现我们有C#实现。


一方面,这很酷,另一方面,我们记得,与其他语言相比,MQL没有很多功能:既没有多重继承,也没有foreach,yeild return,lamb,...。
很明显,IEnumerable是不可能的。

那么我们如何在没有IEnumerable的情况下处理C#容器呢?
我们仍然有旧的C++算法,并使用接口而不是函数的指针。


我们最终得到的是一个C#和C++的大杂烩。
但这是我的主观意见。

Документация по MQL5: Стандартная библиотека / Шаблонные коллекции данных
Документация по MQL5: Стандартная библиотека / Шаблонные коллекции данных
  • www.mql5.com
Библиотека содержит классы и интерфейсы для определения шаблонных коллекций, которые, в свою очередь, дают пользователю возможность создавать строго типизированные коллекции. Они обеспечивают большее удобство и высокую производительность работы с данными, чем обычные типизированные коллекции.
 
标签 Konow:

我不拒绝。但你可以看到,我被要求不要写和做警告。

你没有把握住背景。如果你在不同的主题中四处奔波,在没有证据的情况下胡乱断言,那么是的,这是一条通向禁止的直路。如果你愿意用源代码来支持你的主张,欢迎你。这就是为什么弗拉基米尔给你一个警告,因为他自己喜欢源代码,有时甚至要求它。翻开他自己的线程就可以看到一个例子。

 
瓦西里-索科洛夫

你没有弄清楚背景。如果你在不同的主题中四处奔走,在没有证据的情况下胡乱断言,那么是的,这是一条通往禁止的直路。如果你愿意用源代码来支持你的主张,欢迎你。这就是为什么弗拉基米尔给你一个警告,因为他自己喜欢源代码,有时甚至要求它。看看他自己的线程就是一个例子。

我不是要从主持人的话中寻找背景。我被明确告知 "最好禁欲"。

如果他们不这么说,我愿意尝试用代码来证明我的观点,如果我错了,我承认。

 
谢尔盖-迪尤布利 克。

好啊,至少在正确的方向上迈出了一些步伐。
我以为会使用C++的实现,但打开https://www.mql5.com/ru/docs/standardlibrary/generic,才发现是С#。


一方面,这很酷,但另一方面,我们可以看到,与其他语言相比,MQL没有很多功能:既没有多重继承,也没有foreach,yeild return,lamb,......。
很明显,IEnumerable是不可能的。

那么我们如何在没有IEnumerable的情况下处理C#容器呢?
我们仍然有旧的C++算法,并使用接口而不是函数的指针。


我们最终得到的是一个C#和C++的大杂烩。
但这是我的主观意见。


没有foreach,因为首先没有鸭子的类型,其次没有接口。第二,我特别强调:MQL5中没有接口,尽管同名的关键字存在,甚至以某种方式使用。