struct A
{
int Count;
A() : Count(0) {}
};
struct B : public A
{
int i, j; // Единственная строка, отличающая от C.
B() : i(this.Count++), j(this.Count++) {}
};
struct C : public A
{
int j, i; // Единственная строка, отличающая от B.
C() : i(this.Count++), j(this.Count++) {}
};
voidOnStart()
{
B b;
Print(b.i); // 0Print(b.j); // 1
C c;
Print(c.i); // 1Print(c.j); // 0
}
興味深い結果だ。
まだ修正されていないのが不思議だ:
取引、自動取引システム、取引戦略のテストに関するフォーラム
バグ、バグ、質問
A100, 2020.08.01 05:42
実行中のエラーResult: OnStart::unnamed#00000216656562DC80::f<ulong>
期待される結果: OnStart::f<ulong>
コンパイラの制限。
これは明らかな欠陥であり、コンパイラはもうこのようなコードに医療チームを呼ぶべきだと思う。
ネストされたマクロに括弧を入れることは仮に可能だが、中括弧を入れることはできない。期待されていたのは、コンストラクタで指定されたとおりに左から右へ初期化することでした。
しかし、初期化はフィールドごとに上から下へと進むことが判明した。そして、コンストラクタの後に指定された初期化の順序は重要ではないことがわかった。これは正しいのだろうか?
構造体/クラスオブジェクトのフィールドの初期化の順序が、コンストラクタの後のエントリではなく、フィールドの相互の配置に依存する場合、これが正しい動作かどうかアドバイスしてください。
コンストラクタで指定されたとおりに左から右へ初期化することを期待していました。
しかし、初期化はフィールドごとに上から下へと進むことが判明した。そして、コンストラクタの後の初期化の指定された順序は重要ではありません。これは正しいのでしょうか?
どうせ誰も読まないのに、なぜ開発者はこんなに詳細なヘルプを 書くのでしょうか?フォーラムで質問してください - 彼らが助けてくれます!
どうせ誰も読まないのに、なぜ開発者はこんなに詳しいヘルプを 書くのだろう?フォーラムで質問してください!
ヘルプで質問の答えを見つけるスキームが明確になれば、フォーラムのヘルプに頼ることは少なくなるだろう。
ヘルプで答えを見つけるという図式が理解できれば、フォーラムを利用する頻度は減るだろう。
ありがとうございます。残念ながら、どこをどのように見ればいいのか、必ずしも明確ではありません。
ありがとう。残念なことに、どこをどう見ればいいのか、必ずしも明確ではないんだ。
イベントがタイマー動作をブロックする。
Expert Advisorにはそんなものはない。
安定したタイマー動作が必要なインジケーターを使うのは意味がないと改めて確信した。これは特にレスポンシブ・インターフェースに当てはまります。
この問題を実証するインジケーターがこちらです。タイマーは20ミリ秒に設定され、タイマーイベント間の時間が100ミリ秒を超えると表示されます。
取引、自動取引システム、取引戦略のテストに関するフォーラム
MetaTrader 5ビルド3490の新バージョン:ウェブターミナルのモバイルバージョンとMQL5の新しいマトリックスメソッド
イリヤス, 2022.10.18 10:12 AM
オブジェクトのクラス/構造体の追加について考える