ArrayResize()関数は、配列の最初の次元のサイズを変更するために使用します。
ArrayResize()関数は、以下のように定義されています。
int ArrayResize(
void& array[],
int new_size,
int reserve_size=0
);
各引数の意味は、以下のとおりです。
- void& array[]
サイズを変更する配列名を指定します。 - int new_size
変更後の配列の最初の次元のサイズを指定します。 - int reserve_size=0
変更後の配列のデータを保存する物理メモリのサイズを指定します。
当該引数は選択的なものなので、省略することができます。
戻り値
- 配列のサイズ変更が成功した場合
サイズ変更後の配列の要素数を返します。 - 配列のサイズ変更が成功しなかった場合
「-1」を返して、配列のサイズは変更されません。
注意点
ArrayResize()関数は、動的配列にのみ適用することができます。
ただし、SetIndexBuffer()関数によってインジケーターバッファーとして割り当てられた動的配列は、ArrayResize()関数によって配列のサイズを変更することはできません。
- SetIndexBuffer()関数の詳細については「こちら」を参照してください。
また、配列の全要素数は「2147483647」を超えることはできません。
頻繁にArrayResize()関数を使用する場合は、プログラムの実行速度を速くするために、第三引数を使用することが推奨されます。