- 整数型
- 浮動小数点数型(double、float)
- 複素数(complex)
- 文字列型
- 構造体、クラス、インターフェイス
- 動的配列オブジェクト
- 行列とベクトル
- 型キャスト
- Void 型とNULL 定数
- ユーザー定義型
- オブジェクトポインタ
- 参照: 修飾子「 & 」とキーワード「 this 」
動的配列オブジェクト
動的配列
最大 4 次元の配列の宣言が可能です。動的配列(最初の角括弧ペアで値が指定されていない配列)が宣言されると、コンパイラは自動的にこのような構造の変数(動的配列オブジェクト)を作成し、適切な初期化のためのコードを提供します。
動的配列は、宣言されたブロックの視認性の領域を越えた時に、自動的に解放されます。
例:
double matrix[][10][20]; // 3 次元動的配列
|
静的配列 #
大サイズの配列の次元が明示的に指定されている場合、コンパイラは必要なメモリサイズを事前に割り当てます。このような配列は、静的配列と呼ばれています。それにもかかわらず、コンパイラは事前に割り当てられた静的バッファ(配列を格納するためのメモリの一部)に関連付けられている動的配列(オブジェクト)のために追加のメモリを割り当てます。
動的配列オブジェクトを作成するのは、この静的配列を関数にパラメータとして渡すことが必要になる可能性があるからです。
例:
double stat_array[5]; // 1 次元静的配列
|
構造体内の配列
静的配列が構造体のメンバとして宣言されている場合には、動的配列オブジェクトは作成されません。これは、Windows API で使用されるデータ構造の互換性を確保するためです。
しかし、構造体のメンバとして宣言されている静的配列も MQL5 関数に渡されることが出来ます。この場合、パラメータを渡す時に、一時オブジェクトの動的配列が作成されます。この配列は、構造体のメンバである静的配列にリンクされています。
参照