Resize

配列の新しい(減少した)サイズを設定します。

bool  Resize(
  int  size      // サイズ
  )

パラメータ

size

[in] 配列の新しいサイズ

戻り値

成功の場合は true、ゼロ以下のサイズを設定しようとする試みがあった場合は false

注意事項

配列のサイズ変更はメモリ使用の最適化に役立ちます。右側の余分な要素が失われます。失われた要素のためのメモリは、メモリ管理のモードに応じて解放されます。

メモリの断片化を低減するために、配列のサイズは、以前に Step(int) によって決定されたステップのまたはデフォルトの16ステップを使用して変更されます。

例:

//--- CArrayObj::Resize(int) の例
#include <Arrays\ArrayObj.mqh>
//---
void OnStart()
 {
  CArrayObj *array=new CArrayObj;
  //---
  if(array==NULL)
    {
    printf("Object create error");
    return;
    }
  //--- 配列要素を追加する
  //--- . にて。.
  //--- 配列のサイズを変更する
  if(!array.Resize(10))
    {
    printf("Resize error");
    delete array;
    return;
    }
  //--- 配列を削除する
  delete array;
 }