mql5におけるOOP、テンプレート、マクロ、微妙な使い分け - ページ 3 12345678910...28 新しいコメント Alexey Navoykov 2019.01.24 21:00 #21 Алексей Тарабанов:作り方を発見したんですね。 あなたは何かに迷っている。 Alexey Navoykov 2019.01.24 21:06 #22 Ilya Malev:クラスの インスタンスが少なくとも1つ作成される前の初期化段階で、そのクラスの静的フィールドを使おうとしています。私の考えでは、これは倒錯である...。通常はこのように動作します。 カプセル化の原則では、このようなフィールドは一般に公開されるのではなく、隠されるべきであるとされています。静的フィールドはそのために静的なフィールドであり、クラスのインスタンスを持っていることに依存しません。 しかし、もしあなたが最初にクラスのインスタンスを作りたいなら - OK、作ってください、ただし関数の中だけで。 そしてこのフィールドをそこから(直接またはメソッドを通して)要求します - 結果は再び同じです。 Алексей Тарабанов 2019.01.24 21:20 #23 Alexey Navoykov: あなたは何かに迷っている。いや、何も迷ってないんですよ。 まずグローバルレベルの変数、次に静的変数、そしてコードに現れるローカル変数。この例は、関数で変数を初期 化しないことを推奨する文書に違反しています。開発者にとっては、どこがマストでどこがマストでないかを説明するより、このような警告を書く方が簡単だったのです。サンプルに含まれる静電気を除去し、目的の結果を得ることができます。 Alexey Navoykov 2019.01.24 21:25 #24 Алексей Тарабанов:いや、何も迷ってないんですよ。 まずグローバルレベルの変数、次に静的変数、そしてコードに現れるローカル変数。この例は、関数で変数を初期 化しないことを推奨 する文書に違反しています。開発者にとっては、どこがマストでどこがマストでないかを説明するより、このような警告を書く方が簡単だったのです。あなたの例から静的なものを取り除き、望ましい結果を得ることができます。"ドキュメンテーションのすすめ"))あなたには驚かされます。本当にまだ分からないのか? 言語にバグがあるんだよ。開発者自身が話していて、このバグに遭遇しないための正しいタンバリンのやり方を説明しています。このバグはきっぱりと忘れるようにしました。 Alexey Viktorov 2019.01.24 21:32 #25 Alexey Navoykov: 定数であれば(コードが賢ければ、グローバルな可視性はほとんど定数を宣言する)、他の選択肢はない。 黄色いものについては、「なぜ? 問題を解決する方法は、すでに考えてあります。せっかく作ったものを汚さないように、HERE。 Алексей Тарабанов 2019.01.24 21:35 #26 Alexey Navoykov:"ドキュメンテーションのススメ"))一緒に驚いています。本当にまだ理解していないのですか? 言語にバグがあるのです。開発者自ら、このバグに遭遇しないための正しいタンバリン奏法を解説してくれています。このバグはきっぱりと忘れるようにしました。関数で何かの値を開始することはできません。たとえ、本当にそうしたいと思ってもわからないのか? Ilya Malev 2019.01.24 21:44 #27 Alexey Navoykov:静的フィールドは静的なものなので、クラスのインスタンスには依存しません。 しかし、もし最初にクラスのインスタンスを作りたいのであれば、OK、ただし関数の中だけで作ってください。 そして、このフィールドをそこから(直接でもメソッド経由でも)要求します - 結果はまた同じになります。では、手続き型プログラミングなのか、オブジェクト指向プログラミングなのか。しかも型付きオブジェクトを参照して初期化する前の段階で、なぜクラスと関係のない関数を実行しなければならないのか。気が向いたから」という答えが返ってくるのは理解できる。しかし、もし私が開発者なら、この特殊な動作を修正するためにすべてをキャンセルして走ることは急がないでしょう。なぜなら、これはかなり限界のあるアーキテクチャで、しかも、この問題はクラスのインスタンスを作成すれば簡単に解決するからです。もちろん、関数の内部ではありません。 Alexey Navoykov 2019.01.25 08:12 #28 Alexey Viktorov:すでに作ってしまったものを汚さないように、FOREVER。 でも、あなたは、MQによる人為的な制約で自分を縛ることに喜びを感じているようですね。 もしかして、マゾヒストなのでしょうか?)それなのに、しつこく「こうすればいいんだ」と納得させようとする。 必要ない、無理矢理なんです。 Alexey Navoykov 2019.01.25 08:13 #29 Алексей Тарабанов:関数で何かの値を開始することはできません。たとえ、本当にそうしたいと思ってもわからないのか? はい、わかりません、説明してください。 Alexey Navoykov 2019.01.25 08:17 #30 Ilya Malev:では、手続き型プログラミングなのか、オブジェクト指向なのか。なぜ、突然、型付きオブジェクトに関して、初期化前にクラスと関係ない機能を実行するようになったのか。気が向いたから」という答えが返ってくるのは理解できる。しかし、もし私が開発者なら、この特殊な動作を修正するためにすべてをキャンセルして走ることは急がないでしょう。なぜなら、これはかなり限界のあるアーキテクチャで、しかも、この問題はクラスのインスタンスを作成すれば 簡単に解決するからです。もちろん、関数内ではありません。つまり、あなたはグローバル 変数の大量使用を支持する人なんですね、私の理解では。 では、あなたと私は理解し合えそうにありませんね。 さらに、関数そのものがテンプレートである場合もある。また、生成されたインスタンスは、それぞれ同じ型でパラメータ化される必要があります。 template<typename T> int f() { A<T> a; return a.f(); } 何をするんですか? 12345678910...28 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
作り方を発見したんですね。
クラスの インスタンスが少なくとも1つ作成される前の初期化段階で、そのクラスの静的フィールドを使おうとしています。私の考えでは、これは倒錯である...。通常はこのように動作します。
カプセル化の原則では、このようなフィールドは一般に公開されるのではなく、隠されるべきであるとされています。静的フィールドはそのために静的なフィールドであり、クラスのインスタンスを持っていることに依存しません。 しかし、もしあなたが最初にクラスのインスタンスを作りたいなら - OK、作ってください、ただし関数の中だけで。 そしてこのフィールドをそこから(直接またはメソッドを通して)要求します - 結果は再び同じです。
あなたは何かに迷っている。
いや、何も迷ってないんですよ。
まずグローバルレベルの変数、次に静的変数、そしてコードに現れるローカル変数。
この例は、関数で変数を初期 化しないことを推奨する文書に違反しています。開発者にとっては、どこがマストでどこがマストでないかを説明するより、このような警告を書く方が簡単だったのです。
サンプルに含まれる静電気を除去し、目的の結果を得ることができます。
いや、何も迷ってないんですよ。
まずグローバルレベルの変数、次に静的変数、そしてコードに現れるローカル変数。
この例は、関数で変数を初期 化しないことを推奨 する文書に違反しています。開発者にとっては、どこがマストでどこがマストでないかを説明するより、このような警告を書く方が簡単だったのです。
あなたの例から静的なものを取り除き、望ましい結果を得ることができます。
定数であれば(コードが賢ければ、グローバルな可視性はほとんど定数を宣言する)、他の選択肢はない。
黄色いものについては、「なぜ? 問題を解決する方法は、すでに考えてあります。せっかく作ったものを汚さないように、HERE。
"ドキュメンテーションのススメ"))一緒に驚いています。本当にまだ理解していないのですか? 言語にバグがあるのです。開発者自ら、このバグに遭遇しないための正しいタンバリン奏法を解説してくれています。このバグはきっぱりと忘れるようにしました。
関数で何かの値を開始することはできません。たとえ、本当にそうしたいと思ってもわからないのか?
静的フィールドは静的なものなので、クラスのインスタンスには依存しません。 しかし、もし最初にクラスのインスタンスを作りたいのであれば、OK、ただし関数の中だけで作ってください。 そして、このフィールドをそこから(直接でもメソッド経由でも)要求します - 結果はまた同じになります。
では、手続き型プログラミングなのか、オブジェクト指向プログラミングなのか。しかも型付きオブジェクトを参照して初期化する前の段階で、なぜクラスと関係のない関数を実行しなければならないのか。気が向いたから」という答えが返ってくるのは理解できる。しかし、もし私が開発者なら、この特殊な動作を修正するためにすべてをキャンセルして走ることは急がないでしょう。なぜなら、これはかなり限界のあるアーキテクチャで、しかも、この問題はクラスのインスタンスを作成すれば簡単に解決するからです。もちろん、関数の内部ではありません。
すでに作ってしまったものを汚さないように、FOREVER。
関数で何かの値を開始することはできません。たとえ、本当にそうしたいと思ってもわからないのか?
では、手続き型プログラミングなのか、オブジェクト指向なのか。なぜ、突然、型付きオブジェクトに関して、初期化前にクラスと関係ない機能を実行するようになったのか。気が向いたから」という答えが返ってくるのは理解できる。しかし、もし私が開発者なら、この特殊な動作を修正するためにすべてをキャンセルして走ることは急がないでしょう。なぜなら、これはかなり限界のあるアーキテクチャで、しかも、この問題はクラスのインスタンスを作成すれば 簡単に解決するからです。もちろん、関数内ではありません。
つまり、あなたはグローバル 変数の大量使用を支持する人なんですね、私の理解では。 では、あなたと私は理解し合えそうにありませんね。
さらに、関数そのものがテンプレートである場合もある。また、生成されたインスタンスは、それぞれ同じ型でパラメータ化される必要があります。
何をするんですか?