"ダミー "からの質問 - ページ 123 1...116117118119120121122123124125126127128129130...277 新しいコメント Aleksey Lebedev 2012.04.01 11:50 #1221 papaklass:MqlRates mrate[];//массив нулевого размера ArrayResize とArrayInitialize を使用する。通常、CopyRates ではこの構造 体が使用される。 Yedelkin 2012.04.01 16:01 #1222 papaklass:レナートは、こうするのがいいと言っていた。MqlRates mrate[] = {0}; //структура для хранения информации о ценах, объемах и спреде.考えてみよう。私の記憶では、Renatは配列ではなく、単純な変数の初期化について話していたように思います。リファレンスマニュアルにも似たような例が載っている。//--- инициализация всех полей структуры нулевым значением MqlTradeRequest request={0};一方、あなたは、宣言時に単純な変数ではなく、配列を初期化しようとします。ハンドブックにこんな例が載っていました。double f[] = { 0.0, 0.236, 0.382, 0.5, 0.618, 1.0 }; Если размер инициализируемого массива не указан, то он определяется компилятором, исходя из размера инициализирующей последовательности. この配列は有限個の値で初期化されており、コンパイラはこの値の数によって配列の大きさを決定していると説明されています。私はそれを確認するためにあまりにも怠惰です - 例から配列f[]のサイズは6である可能性が最も高いです。サンプルでは、{0}の初期化シーケンスの サイズは1です。そのため、コンパイラは配列mrate[]のサイズを1として定義することが多いようです。ここでは、興味本位で、このように指定する。MqlRates mrate[] = {0,0,0,0,0,0,0,0,0,0,0,0}; //структура для хранения информации о ценах, объемах и спреде. エラーになるのでしょうか? Yedelkin 2012.04.02 03:28 #1223 papaklass: 私は混乱しました。白鳥はわかりやすく説明してくれた。構造を間違えてしまったんです。値を取るので、初期化する必要は全くありません。値を与えるものは初期化する必要があります。私は間違っていた。 まあ、それがメインなんですが、レナーテに関する質問自体が面白かったので、私も何かわかったような気がしました。 削除済み 2012.04.02 04:01 #1224 double f[] = { 0.0, 0.236, 0.382, 0.5, 0.618, 1.0 };動的な配列では ありません。 Документация по MQL5: Основы языка / Типы данных / Объект динамического массива www.mql5.com Основы языка / Типы данных / Объект динамического массива - Документация по MQL5 Yedelkin 2012.04.02 05:22 #1225 220Volt: double f[] = { 0.0, 0.236, 0.382, 0.5, 0.618, 1.0 }; 非動的な配列です。 double f[] はそれ自体で動的な配列です.作成時に宣言されるのはこの配列である。有限の初期化シーケンスで 初期化した後、動的でなくなるかどうかは解析していない。以上、主に宣言された配列が初期化後に特定のサイズを獲得することがわかりましたね。 明示的に初期化した結果の動的配列は、動的でなくなる、つまり動的な状態や特性を失うということですか?- そうかもしれませんが、どうでしょう。 質問:動的配列 double f[] が動的配列でなくなる根拠(理由)は何ですか? 削除済み 2012.04.02 05:31 #1226 Yedelkin: double f[]はそれ自体が動的配列である.それは、創造時に宣言されます。最終的な初期化シーケンスによる 初期化後に動的でなくなるかどうかは調べていない。以上、主に宣言された配列が初期化後に特定のサイズを獲得することがわかりましたね。 明示的に初期化した結果の動的配列は、動的でなくなる、つまり動的な状態や特性を失うということですか?- そうかもしれませんが、ではなぜなのか?要は、私たちMKLは実世界から少し「隔離」されているのです)、このような状況ではコンパイラが私たちのために判断してくれるのです。それが見えたらdouble f[5]; double f[] = {0, 1, 3};は静的な配列を作成します (サイズ変更機能はありません)。それが見えたらdouble f[];構造体MqlArrayObject(動的配列として動作する)をグローバルメモリに作成する。したがって、宣言後に配列を初期化することはできません(double f[]; f = {6}; )。追伸:書いてあることはすべて私のIMHOであり、どこかで間違っている可能性があります。 Yedelkin 2012.04.02 05:44 #1227 ダミーからの質問:コンパイラが文字列を見た場合、それは本当ですか?double f[] = {0, 1, 3}; とすると、最初は動的な配列ではなく静的な配列が作成されるのでしょうか? 動的配列( 最初の角括弧のペアに値が指定 されていない配列)を宣言する場合、コンパイラは自動的に構造体 変数MqlArrayObject(動的配列オブジェクト)を作成し、適切な初期化のためのコードを提供します」というルールがあります。それとも、最終的な初期化シーケンスの 存在は、「重要な配列の次元をすべて明示的に指定する」ことと同じで、静的な配列の作成につながるのでしょうか? Vladimir Gomonov 2012.04.02 07:23 #1228 Yedelkin:ダミーからの質問: コンパイラが文字列を見た場合、それは本当ですか? とすると、最初は動的な配列ではなく静的な配列が作成されるのでしょうか? 動的配列( 最初の角括弧のペアに値が指定 されていない配列)を宣言する場合、コンパイラは自動的に構造体 変数MqlArrayObject(動的配列オブジェクト)を作成し、適切な初期化のためのコードを提供します」というルールがあります。それとも、最終的な初期化シーケンスの 存在は、「重要な配列の次元をすべて明示的に指定する」ことと同じで、静的な配列の作成につながるのでしょうか?チェックが弱いのでしょうか? ;) Yedelkin 2012.04.02 08:00 #1229 MetaDriver: 確認できないのか? ;) 今のところあまりないですね。ターミナルに着くのは今日の夕方だ。そうでなければ、220Vに対する私の答えが違って聞こえたはずです、おわかりですね :)ハンドブックに情報が載っていなかった。よく見ていなかったかもしれませんが、細心の注意を払って。 Vladimir Gomonov 2012.04.02 08:05 #1230 Yedelkin: 今のところ、弱いですね。ターミナルに着くのは今日の夕方だ。そうでなければ、220Voltに対する私の答えが違って聞こえたはずです、おわかりですね :)ハンドブックに情報が載っていなかった。よく見ていなかったのかもしれませんが、几帳面な性格なんです。よし、ターミナルから出たぞ。:) 私も端末の外にいます。 初歩的なことを確認 -ArrayResize(...)を使おうとしています。 Документация по MQL5: Операции с массивами / ArrayResize www.mql5.com Операции с массивами / ArrayResize - Документация по MQL5 1...116117118119120121122123124125126127128129130...277 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
MqlRates mrate[];//массив нулевого размера
ArrayResize とArrayInitialize を使用する。
通常、CopyRates ではこの構造 体が使用される。
レナートは、こうするのがいいと言っていた。
考えてみよう。私の記憶では、Renatは配列ではなく、単純な変数の初期化について話していたように思います。リファレンスマニュアルにも似たような例が載っている。
一方、あなたは、宣言時に単純な変数ではなく、配列を初期化しようとします。ハンドブックにこんな例が載っていました。
この配列は有限個の値で初期化されており、コンパイラはこの値の数によって配列の大きさを決定していると説明されています。私はそれを確認するためにあまりにも怠惰です - 例から配列f[]のサイズは6である可能性が最も高いです。
サンプルでは、{0}の初期化シーケンスの サイズは1です。そのため、コンパイラは配列mrate[]のサイズを1として定義することが多いようです。ここでは、興味本位で、このように指定する。
エラーになるのでしょうか?私は混乱しました。白鳥はわかりやすく説明してくれた。構造を間違えてしまったんです。値を取るので、初期化する必要は全くありません。値を与えるものは初期化する必要があります。私は間違っていた。
まあ、それがメインなんですが、レナーテに関する質問自体が面白かったので、私も何かわかったような気がしました。
double f[] = { 0.0, 0.236, 0.382, 0.5, 0.618, 1.0 };動的な配列では ありません。
double f[] = { 0.0, 0.236, 0.382, 0.5, 0.618, 1.0 }; 非動的な配列です。
double f[] はそれ自体で動的な配列です.作成時に宣言されるのはこの配列である。有限の初期化シーケンスで 初期化した後、動的でなくなるかどうかは解析していない。以上、主に宣言された配列が初期化後に特定のサイズを獲得することがわかりましたね。
明示的に初期化した結果の動的配列は、動的でなくなる、つまり動的な状態や特性を失うということですか?- そうかもしれませんが、どうでしょう。 質問:動的配列 double f[] が動的配列でなくなる根拠(理由)は何ですか?
double f[]はそれ自体が動的配列である.それは、創造時に宣言されます。最終的な初期化シーケンスによる 初期化後に動的でなくなるかどうかは調べていない。以上、主に宣言された配列が初期化後に特定のサイズを獲得することがわかりましたね。
明示的に初期化した結果の動的配列は、動的でなくなる、つまり動的な状態や特性を失うということですか?- そうかもしれませんが、ではなぜなのか?
要は、私たちMKLは実世界から少し「隔離」されているのです)、このような状況ではコンパイラが私たちのために判断してくれるのです。それが見えたら
は静的な配列を作成します (サイズ変更機能はありません)。それが見えたら
double f[];
構造体MqlArrayObject(動的配列として動作する)をグローバルメモリに作成する。したがって、宣言後に配列を初期化することはできません(double f[]; f = {6}; )。
追伸:書いてあることはすべて私のIMHOであり、どこかで間違っている可能性があります。
ダミーからの質問:コンパイラが文字列を見た場合、それは本当ですか?
とすると、最初は動的な配列ではなく静的な配列が作成されるのでしょうか?
動的配列( 最初の角括弧のペアに値が指定 されていない配列)を宣言する場合、コンパイラは自動的に構造体 変数MqlArrayObject(動的配列オブジェクト)を作成し、適切な初期化のためのコードを提供します」というルールがあります。それとも、最終的な初期化シーケンスの 存在は、「重要な配列の次元をすべて明示的に指定する」ことと同じで、静的な配列の作成につながるのでしょうか?
ダミーからの質問: コンパイラが文字列を見た場合、それは本当ですか?
とすると、最初は動的な配列ではなく静的な配列が作成されるのでしょうか?
動的配列( 最初の角括弧のペアに値が指定 されていない配列)を宣言する場合、コンパイラは自動的に構造体 変数MqlArrayObject(動的配列オブジェクト)を作成し、適切な初期化のためのコードを提供します」というルールがあります。それとも、最終的な初期化シーケンスの 存在は、「重要な配列の次元をすべて明示的に指定する」ことと同じで、静的な配列の作成につながるのでしょうか?
チェックが弱いのでしょうか?
;)
確認できないのか?
;)
今のところ、弱いですね。ターミナルに着くのは今日の夕方だ。そうでなければ、220Voltに対する私の答えが違って聞こえたはずです、おわかりですね :)ハンドブックに情報が載っていなかった。よく見ていなかったのかもしれませんが、几帳面な性格なんです。
よし、ターミナルから出たぞ。:) 私も端末の外にいます。
初歩的なことを確認 -ArrayResize(...)を使おうとしています。