Resize

Imposta una nuova (più piccola) grandezza dell'array.

bool  Resize(
   int  size      // grandezza
   )

Parametri

size

[in] Nuova grandezza dell'array.

Valore di ritorno

true - successo, false - c'è stato un tentativo di impostare la grandezza inferiore a zero.

Nota

La modifica della grandezza dell' array consente di utilizzare la memoria in modo ottimale. Gli elementi eccessivi sulla destra vengono perduti. La memoria degli elementi persi viene rilasciata o meno a seconda della modalità di gestione della memoria.

Per ridurre la frammentazione della memoria, la modifica della grandezza dell'array è realizzata con uno step precedentemente fornito attraverso il metodo di Step(int), o 16 (default).

Esempio:

//--- esempio per CArrayObj::Resize(int)
#include <Arrays\ArrayObj.mqh>
//---
void OnStart()
  {
   CArrayObj *array=new CArrayObj;
   //---
   if(array==NULL)
     {
      printf("Errore creazione oggetto");
      return;
     }
   //--- aggiungi elementi dell'array
   //--- . . .
   //--- ridimensiona array
   if(!array.Resize(10))
     {
      printf("Ridimensiona errore");
      delete array;
      return;
     }
   //--- elimina array
   delete array;
  }