mql5におけるOOP、テンプレート、マクロ、微妙な使い分け - ページ 20 1...13141516171819202122232425262728 新しいコメント Dmitry Fedoseev 2019.10.27 21:50 #191 Seric29: マクロの引数数の8要素という制限を解除するには、どうすればよいですか。 マクロの中のマクロが書かれているはずです。 なぜ関数を書かないのか? Igor Makanu 2019.11.27 22:02 #192 const修飾子をマクロで削除し、必要なときに無効化することは可能ですか? ZS: コードがあるんです。 class COrder { private: //--- const to send order const int c_cmd; const double c_volume; double c_price; const int c_magic; const int c_stoploss; const int c_takeprofit; } は、クラスのフィールドをファイルに書き出し、コンストラクタでファイルから復元することにしましたが、const 修飾子はこれを邪魔します。 コードはほぼ完成しており、理論上はすべてのconstを削除することができますが、...しかし、さらなる改良の機会を失いたくないので、コードの修正時にはconstが非常に役に立ちます。 fxsaber 2019.11.27 22:15 #193 Igor Makanu: const修飾子をマクロで削除し、必要なときに無効化することは可能ですか? #define const Igor Makanu 2019.11.27 22:22 #194 fxsaber: うーん、そんな簡単なことか!? マクロを適用するソースコードの部分を限定するにはどうすればよいですか? fxsaber 2019.11.27 22:29 #195 Igor Makanu: このマクロを適用したいソースコードの範囲を限定するにはどうしたらよいですか? #undef const 削除済み 2019.11.28 03:02 #196 Igor Makanu: マクロを使って const 修飾を削除し、必要なときに無効にする方法はありますか? ZS: コードがあるんです。 クラスのフィールドをファイルに書き出し、コンストラクタでファイルからリストアすることにしましたが、修飾子constが邪魔になります。 コードはほぼ完成しており、理論上はすべてのconstを削除することができますが、...しかし、さらなる改良の機会を失いたくないので、コードの修正時にはconstが非常に役に立ちます。 何を考えているのか?どこもかしこもc_cmdは定数で、1つの関数は定数ではないのですか?もしそうなら、それはUBです(はいμlはそうすることを許可しません)、よく読み取り専用セグメント、コンパイラの最適化のためにそこにある... Igor Makanu 2019.11.28 04:10 #197 fxsaber: うーん、またまたシンプルですね。 ありがとうございました。 ビクト 何を考えているのか?c_cmdはどこでも定数で、ある関数は定数ではないのでしょうか?もしそうなら、それはUBです(はいμlはそうすることを許可しません)、よく読み取り専用セグメント、コンパイラの最適化のためにそこにある... 新規注文(マルチオーダーTS)時に、2つのクラスのすべてのフィールドに、すべての設定と現在の状態を保存することにしました。 保存するクラスのフィールド名でフィールドを分けた構造体を使うことにしました。2分後にエディタでコピーするだけです))、FileWriteStruct()を一回呼び出すだけでフィールドを保存できるのは便利です。) で、状態を復元するために、例えばこのコンストラクタを使うことにします。 COrder::COrder(SRecovery &property) : c_cmd(property.c_cmd), c_volume(property.c_volume), c_price(property.c_price), c_magic(property.c_magic), c_stoploss(property.c_stoploss), c_takeprofit(property.c_takeprofit) { } このコンストラクタの呼び出しで、定数フィールドを初期化することができます。 データの復元は、端末の再読み込みのみでよい まだやっていませんが、99%問題なく動くと思います。新しいデータ型(記憶構造)を導入したくなかったのですが、その方が簡単だし、後でコードを読めばいいし・・・コメントは私たちが書くものではありませんから - )))) Vladimir Simakov 2019.11.28 07:07 #198 Igor Makanu: うーん、またまたシンプル。 ありがとうございました。 新規注文(マルチオーダーTS)時に、2クラスの全フィールドを全設定と現在の状態で保存することにしました。 保存するクラスのフィールド名ごとにフィールドを持つ別の構造体を使うことにしました。これはエディタで2分程度のコピーになります))、FileWriteStruct()の一回の呼び出しで保存できると便利です。) で、状態を復元するために、例えばこのコンストラクタを使うことにします。 このコンストラクタの呼び出しで、定数フィールドを初期化することができます。 データの復元は、端末の再読み込みのみでよい まだやってませんが、99%問題なく動くと思います。新しいデータ型(保存用の構造体)を導入したくなかったのですが、その方が簡単だし、後でコードを読めばいいし・・・解説は私たちが書くのではないのです- )))) 書き込み用の一時的な構造体を作りたくない場合は、フィールドを1つずつファイルに書き込み、同じようにコンストラクタから読み込むようにしてください。必ずしも速くなるわけではありませんが、コードの見た目が「醜く」なることは間違いないでしょう。 Vladimir Simakov 2019.11.28 07:10 #199 fxsaber: 間違っている。const_cast の対応するものが必要で、それがない。 Igor Makanu 2020.02.15 11:09 #200 を試してみたが、うまくいかなかった...。 インクルードファイルの呼び出し可能な関数の デフォルトパラメータをオーバーライドするマクロを作成するにはどうすればよいですか? 最初のファイルは、"plugin "です。 class CObj{ public: CObj(string host="127.0.0.1"){} }; CObj obj = new CObj(); このインルーターを接続したいのですが、"127.0.0.1 "という テキストをマクロで置き換えることができます(必要な場合のみ)。 つまり、ここで定義が必要なのです。 #define defaulthost "192.168.1.10" #include "mylib.mqh" しかし、この定義がない場合、host="127.0.0.1" で動作するようにし、defaulthost の 定義がある場合はそれを使用 するようにします。 1...13141516171819202122232425262728 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
マクロの引数数の8要素という制限を解除するには、どうすればよいですか。
マクロの中のマクロが書かれているはずです。
なぜ関数を書かないのか?
const修飾子をマクロで削除し、必要なときに無効化することは可能ですか?
ZS: コードがあるんです。
は、クラスのフィールドをファイルに書き出し、コンストラクタでファイルから復元することにしましたが、const 修飾子はこれを邪魔します。
コードはほぼ完成しており、理論上はすべてのconstを削除することができますが、...しかし、さらなる改良の機会を失いたくないので、コードの修正時にはconstが非常に役に立ちます。
const修飾子をマクロで削除し、必要なときに無効化することは可能ですか?
うーん、そんな簡単なことか!?
マクロを適用するソースコードの部分を限定するにはどうすればよいですか?
このマクロを適用したいソースコードの範囲を限定するにはどうしたらよいですか?
マクロを使って const 修飾を削除し、必要なときに無効にする方法はありますか?
ZS: コードがあるんです。
クラスのフィールドをファイルに書き出し、コンストラクタでファイルからリストアすることにしましたが、修飾子constが邪魔になります。
コードはほぼ完成しており、理論上はすべてのconstを削除することができますが、...しかし、さらなる改良の機会を失いたくないので、コードの修正時にはconstが非常に役に立ちます。
何を考えているのか?どこもかしこもc_cmdは定数で、1つの関数は定数ではないのですか?もしそうなら、それはUBです(はいμlはそうすることを許可しません)、よく読み取り専用セグメント、コンパイラの最適化のためにそこにある...
うーん、またまたシンプルですね。
ありがとうございました。
何を考えているのか?c_cmdはどこでも定数で、ある関数は定数ではないのでしょうか?もしそうなら、それはUBです(はいμlはそうすることを許可しません)、よく読み取り専用セグメント、コンパイラの最適化のためにそこにある...
新規注文(マルチオーダーTS)時に、2つのクラスのすべてのフィールドに、すべての設定と現在の状態を保存することにしました。
保存するクラスのフィールド名でフィールドを分けた構造体を使うことにしました。2分後にエディタでコピーするだけです))、FileWriteStruct()を一回呼び出すだけでフィールドを保存できるのは便利です。)
で、状態を復元するために、例えばこのコンストラクタを使うことにします。
このコンストラクタの呼び出しで、定数フィールドを初期化することができます。
データの復元は、端末の再読み込みのみでよい
まだやっていませんが、99%問題なく動くと思います。新しいデータ型(記憶構造)を導入したくなかったのですが、その方が簡単だし、後でコードを読めばいいし・・・コメントは私たちが書くものではありませんから - ))))
うーん、またまたシンプル。
ありがとうございました。
新規注文(マルチオーダーTS)時に、2クラスの全フィールドを全設定と現在の状態で保存することにしました。
保存するクラスのフィールド名ごとにフィールドを持つ別の構造体を使うことにしました。これはエディタで2分程度のコピーになります))、FileWriteStruct()の一回の呼び出しで保存できると便利です。)
で、状態を復元するために、例えばこのコンストラクタを使うことにします。
このコンストラクタの呼び出しで、定数フィールドを初期化することができます。
データの復元は、端末の再読み込みのみでよい
まだやってませんが、99%問題なく動くと思います。新しいデータ型(保存用の構造体)を導入したくなかったのですが、その方が簡単だし、後でコードを読めばいいし・・・解説は私たちが書くのではないのです- ))))
を試してみたが、うまくいかなかった...。
インクルードファイルの呼び出し可能な関数の デフォルトパラメータをオーバーライドするマクロを作成するにはどうすればよいですか?
最初のファイルは、"plugin "です。
このインルーターを接続したいのですが、"127.0.0.1 "という テキストをマクロで置き換えることができます(必要な場合のみ)。
つまり、ここで定義が必要なのです。
しかし、この定義がない場合、host="127.0.0.1" で動作するようにし、defaulthost の 定義がある場合はそれを使用 するようにします。