記事"MQL5プログラミングベージックス:リスト"についてのディスカッション - ページ 9

 
C-4:
おそらく、"通常の実装 "というのは、テンプレートへの実装という意味だろう。
それは何ですか?テンプレート上とは?プログラミング中に指でキーを押す特別な方法?
 
Integer:
それはどんなもの?パターンってどういう意味?プログラミング中に指でキーを押す、何か特別なひねくれた方法?

テンプレートは、古いコンパイル時のマクロ置換法の遺産として、実はオブジェクト指向プログラミングにはとっくの昔に意味を失っている。

例えば、C#のジェネリクス、動的型認識RTTI、バリアント型の使用などだ。
もちろん、テンプレートを好むオールドボーイはまだいるが、プログラマーとしては、それは引退の時期のサインだと思う。

 
revers45:

テンプレートは、時代遅れのコンパイル時マクロ置換法の遺産として、オブジェクト指向プログラミングとの関連性を失って久しい。

例えば、C#のジェネリクス、動的型認識RTTI、バリアント型の適用などである。
もちろん、テンプレートが好きなオールドボーイはまだいるが、プログラマーとしては、それは引退の時期のサインである。

しかし、プログラマーとしては、テンプレートはそろそろ引退のサインだと思う。

C#のジェネリックスは、テンプレートを非常に減らしただけであり、実際には実行時ではなくコンパイル時である。)

しかし、RTTIとバリアント型は、いくつかの悪い考えを示唆している。

____________________

もちろん、これらはすべてクールだ。しかし、MQL5にはテンプレート関数しかなく、クラスはありません(あるのでしょうか?)だから、テンプレート上のリストは現在のツールでは実現できない。

 
TheXpert:

読んでいて面白い)テンプレートはマクロの代入から遠ざかって久しく、独立したパラダイムとして非常にうまく存在している。

C#におけるジェネリックスは、テンプレートを非常に縮小したものに過ぎず、一般的には、実行時間ではなくコンパイル時間であるため、その使用速度は高くなる)。

しかし、RTTIとバリアント型は、いくつかの悪い考えを示唆している。

____________________

なるほど、もちろんこれらはすべてクールだ。しかし、MQL5にはテンプレート関数しかなく、クラスは存在しない(存在するのだろうか?)つまり、テンプレート上のリストは現在のツールでは実現不可能なのだ。

化石パラダイムは前世紀の温かい思い出であり、知識の網羅的な荷物のように思えるからだ。

なぜならMQは、顧客が祖父のマクロアセンブラやANSI Cを懐かしんでおり、MQL5を改善する ための提案を無視していると思い込んでいるからだ。

 
revers45、ちょっと間違っていた。オーバーロードを確実にするために、普遍的な関数を書く可能性がある。引数の種類ごとに関数を書くのではなく、1つの関数テンプレートを 書くのだ。上の連中は何かひどく勘違いしているようだが、ここには関数テンプレートしかない。しかし、どんな通なんだ、というところから話は始まったのだが、テンプレートについての質問が出たので、一気に沈黙が訪れた。彼らは口が達者なだけのようだ。
削除済み  

テンプレートがないので、マクロでできます。誰かがこのトピック(テンプレートの代わりにマクロ)についての記事を書いたと思います。独自のコンテナを書くのはどう考えても間違っている(教育目的でのみ役に立つ)。

update:マクロにアルゴリズムは必要ない。仮想挿入は好きではない。デバッグモードで型チェックのアサー トを使ったほうがいい。

 
添付ファイルをダウンロードしたところ、多くの箇所で次のようなコンパイルエラーが発生しました: 'm_head' - 定数オブジェクトのメンバは変更できません CiSingleList.mqh 504 & .nbsp; 9
 
すべてのことが明確に説明されているので、Mql5コミュニティのすべての人に向けて書かれたものだと思う。
 
この記事は、OOPについての明確な洞察を与えてくれると言わなければならない。私はこれを読んだ後、多くのことを得たことに感動した。
 

こんにちは、

test_MQL5_List.mq5をコンパイルしようとしたところ、以下のエラーが発生しました:

'm_head' - 定数オブジェクトのメンバは変更できません CiSingleList.mqh 504 9
'm_tail' - 定数オブジェクトのメンバは変更できません CiSingleList.mqh 505 9
'm_size' - 定数オブジェクトのメンバは変更できません CiSingleList.mqh 496 9