mql5におけるOOP、テンプレート、マクロ、微妙な使い分け - ページ 4

 
Alexey Navoykov:
でも、あなたは、MQによる人工的な制約で自分を縛ることに大きな喜びを感じているようですね。 もしかして、マゾヒストですか?)必要だとしつこく説得してくるけど 必要じゃない、強制だ、そこがポイント。

むしろマゾにしか見えないんだが言葉のルールに従わず、誰も必要としない松葉杖を書くことに時間を費やし、自分の意見を公理として通そうとし、あなたの間違いについて教えてくれるのは私だけではないのに。そのうえで、自分の技を繊細でトリック的なものとして通そうとしているわけです。そして、その微妙なニュアンスや特徴は、ドキュメントに書かれているルールを守ることで判明します。

C言語系の開発者と一緒になって考えてみてください。送信先のリンクのアドレスを聞く。そしてここでは、自分の無知と引き換えに開発者に何かを要求することが許されると考えているのですね。

 
Alexey Viktorov:

むしろマゾにしか見えないんだが言語のルールに従わず、誰も欲しがらない松葉杖を書くことに時間を費やしたのですね。

松葉杖を書くのに費やした半日は、私の将来において、節約した多くの時間と神経細胞、それにコードの利便性(私が必要とする方法で書いている)で報われるでしょう。

あなたの間違いを指摘しているのは私だけではないのに、自分の意見を公理として通そうとする。

...

C言語の開発者に聞いてみてください。

エラーは?あなたは本物のプログラミング言語でプログラミングをしたことがありますか?そんなことはないだろう。ご存じない方もいらっしゃるかもしれませんが、MQLはC++に近い書き方をしています。つまり今回は、開発者が手を抜いて細かいところまで考慮せず、通常のプログラミング言語では発見できないバグを生み出してしまったということです。

そしてここでは、自分の無知を棚に上げて、開発者に何かを要求することが許されると考えているのです。

また混乱してるのか。もう、何も求めない。
 
Alexey Navoykov:

松葉杖を書くのに費やした半日は、将来的に多くの時間と神経細胞の節約になり、さらにコードの利便性で報われるでしょう(私は必要な方法で書いています)。

エラーは?あなたは本物のプログラミング言語でプログラミングをしたことがありますか?そんなことはないだろう。ご存じない方もいらっしゃるかもしれませんが、MQLはC++に近い書き方をしています。つまり今回は、開発者が手を抜いて細かいところまで考慮せず、通常のプログラミング言語では発見できないバグを生み出してしまったということです。

また混乱してるのか。私は何も要求していません。

なぜmqlの開発者が誰かの真似をしなければならないのか?

 
Alexey Viktorov:

いったいなぜ、mqlの開発者は誰かの真似をしたがるのでしょうか?

ドキュメントを見てください、白黒で書いてありますよ。
 
Alexey Viktorov:

C言語の亜種の開発者に聞いてみてください。送信先のリンクのアドレスを聞く。そしてここでは、自分の無知と引き換えに、開発者に何かを要求することが許されると考えているのです。

C言語ファミリーと何か関係があるのでしょうか?µl単位でしかない。それは、mkがマルチパスコンパイルを希望する人に喜んでもらえるようにと考えたからです。

void start() {
    int i = f();
}
int f() {return 0;}

それはいけないことです。

ZSです。

一般的にc++は足元にも及ばない、70%はそこでは全く使わない、便利で安全なμlを作ろう、とここで何度も聞いたことがあるのです。しかし、快適なコーディングのためには、むしろこの「曲がった」c++を再発明する必要がありそうです :)

 
Alexey Navoykov:

つまり、あなたはグローバル変数の 大量使用を提唱しているわけですね。 それでは、あなたと私は理解し合えそうにありません。

さらに、関数そのものがテンプレートである場合もある。また、生成されたインスタンスは、それぞれ同じ型でパラメータ化される必要があります。

あなたの行動?

支持者というわけではありませんが、静的変数の使いやすさ以外には必要ないとしても、クラスのインスタンスをきっぱりと宣言することに、何の緊張感も感じませんね。そして、最近、私自身、関数内の静的関数に関するバグに直面したとき、私はそのように(関数内で)宣言しないことに決めただけで、全く問題はありません。

 
pavlick_:

という人のために、マックがマルチパス集大成をすることになったからです。

という、やってはいけないことをやってしまった。

意味が通じないのではと心配です )
 
pavlick_:

C言語系は関係あるのか?mclの悪いところはそこだけです。それは、μがそのように望む人のために、マルチパスコンピレーションを作ることにしたからです。

それはいけないことです。

ZSです。

だいたいc++は足元にも及ばない、70%はそこでは全く使わない、便利で安全なmclを作ろう、とここで何度も聞いたことがあるのです。しかし、快適なコーディングのためには、むしろこの「曲がった」c++を再発明する必要がありそうです :)

つまり、関数で変数を初期化してはいけないということですか?正しく理解できていますか?

 
Ilya Malev:

支持者というわけではありませんが、静的変数の便利な使い方以外には必要ないとしても、クラスの説明の直後にクラスのインスタンスを宣言することに何の緊張感も感じませんね。そして、最近、私自身が関数内部での静的問題のバグに直面したとき、私はそのような宣言(関数内部)をしないと決めただけで、全く問題がなくなりました。

まあ、そういうことで話を始めたのがここ なんですけどね。私も静的なものはすべてグローバルに置き換えるつもりでしたが(もちろん難しいですが)、上記のようにテンプレートではうまくいきません。 マクロもです。 そして、私はそれを広く使っているので、私の実装を作りました。 すべての問題を解決したわけではありませんが。 動的配列はまだ初期化できませんし、定数型もそうです。だから、あいまいにはグローバル化しなければなりません。
 
Alexey Viktorov:

つまり、関数で変数を初期化してはいけないということですか?正しく理解できていますか?

いいえ、そういうことではありません。プラスティックでは、関数のメンバーは、それが関数に入る最初の時に初期化されます。マルチパスについて - 急いでいたので、µlなら許されると甘く見ていました

int q = w;
int w;
理由: