AssignArray

Confronta l'array con un altro.

bool  AssignArray(
   const CArrayObj*  src      // puntatore alla sorgente
   )

Parametri

src

[in] Puntatore ad un'istanza della classe CArrayObj in utilizzo come sorgente di elementi da copiare.

Valore di ritorno

true - successo, false - non posso copiare gli elementi.

Nota

Se l'array ricevente non è vuoto quando si chiama AssignArray, allora tutti gli elementi saranno rimossi; e se è impostato il flag di gestione della memoria, la memoria utilizzata per gli elementi eliminati verrà rilasciata. L'array ricevente diventa una copia esatta di quello sorgente. In più, vedere CArrayObj::AddArray(const CArrayObj*).

Esempio:

//--- esempio per CArrayObj::AssignArray(const CArrayObj*)
#include <Arrays\ArrayObj.mqh>
//---
void OnStart()
  {
   CArrayObj *array=new CArrayObj;
   //---
   if(array==NULL)
     {
      printf("Errore creazione oggetto");
      return;
     }
   //--- crea l'array sorgente
   CArrayObj *src=new CArrayObj;
   if(src==NULL)
     {
      printf("Errore creazione oggetto");
      delete array;
      return;
     }
   //--- resetta la flag free mode
   src.FreeMode(false);
   //--- riempie l'array sorgente
   //--- . . .
   //--- assegna un altro array
   if(!array.AssignArray(src))
     {
      printf("Errore assegnazione array");
      delete src;
      delete array;
      return;
     }
   //--- gli arrays sono identici
   //--- elimina l'array sorgente senza elementi
   delete src;
   //--- usa array
   //--- . . .
   //--- elimina array
   delete array;
  }