Resize

Définit une nouvelle taille du tableau (plus petite).

bool  Resize(
   int  size      // Taille
   )

Paramètres

size

[in]  Nouvelle taille du tableau.

Valeur de Retour

true - en cas de succès, false - en cas d'échec dû à une tentative de mettre une taille inférieure à 0.

Note

Changer la taille du tableau permet d'optimiser l'utilisation de la mémoire. Les éléments en excés situés sur la droite sont perdus. La mémoire des éléments perdus est libérée ou pas suivant le mode de gestion de la mémoire.

Pour réduire la fragmentation de la mémoire, le changement de taille du tableau est réalisé avec le pas définit avec la méthode Step (int), ou sinon avec un pas de 16 (par défaut).

Exemple :

//--- exemple d'utilisation de CArrayObj::Resize(int)
#include <Arrays\ArrayObj.mqh>
//---
void OnStart()
  {
   CArrayObj *array=new CArrayObj;
   //---
   if(array==NULL)
     {
      printf("Object create error");
      return;
     }
   //--- ajoute des éléments au tableau
   //--- . . .
   //--- redimmensionne le tableau
   if(!array.Resize(10))
     {
      printf("Resize error");
      delete array;
      return;
     }
   //--- supprime le tableau
   delete array;
  }