Resize

Define um novo tamanho (menor) do array.

bool  Resize(
   int  size      // Size
   )

Parâmetros

size

[in] Nova tamanho do array

Valor do Retorno

Verdadeiro se com sucesso; falso - se houve uma tentativa de definir o tamanho inferior a zero.

Observação

Alterar o tamanho do array permite o uso de memória na maneira ideal. Excesso de elementos localizados à direita são perdidos. A memória para elementos perdidos é liberada ou não, dependendo do modo de gerenciamento de memória.

Para reduzir a fragmentação da memória, alterar o tamanho do array com um passo dado previamente pelo método Step (int), ou 16 (por padrão).

Exemplo

//--- 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;
  }