Resize

Устанавливает новый (меньший) размер массива.

bool  Resize(
   int  size      // размер
   )

Параметры

size

[in]  Новый размер массива.

Возвращаемое значение

true в случае успеха, false – если была попытка установить размер меньше нуля.

Примечание

Изменение размера массива позволяет оптимально использовать память. Лишние элементы справа теряются. Память утерянных элементов освобождается или нет в зависимости от режима управления памятью.

Для уменьшения фрагментации памяти, изменение размеров массива производится с шагом ранее заданным через метод Step(int), либо 16 (по умолчанию).

Пример:

//--- example for CArrayObj::Resize(int)
#include <Arrays\ArrayObj.mqh>
//---
void OnStart()
  {
   CArrayObj *array=new CArrayObj;
   //---
   if(array==NULL)
     {
      printf("Object create error");
      return;
     }
   //--- add arrays elements
   //--- . . .
   //--- resize array
   if(!array.Resize(10))
     {
      printf("Resize error");
      delete array;
      return;
     }
   //--- delete array
   delete array;
  }