Detach

Rimuove un elemento da una data posizione nell'array.

CObject*  Detach(
   int  pos      // posizione
   )

Parametri

pos

[in] Posizione di un elemento rimosso nell'array.

Valore di ritorno

Puntatore all'elemento rimosso - successo, NULL - non è possibile rimuovere l'elemento.

Nota

Quando un elemento viene rimosso dall'array, non viene eliminato indipendentemente dalla flag di gestione della memoria. Una volta che il puntatore elemento dell'array viene usato, deve essere deallocato.

Esempio:

//--- esempio per CArrayObj::Detach(int)
#include <Arrays\ArrayObj.mqh>
//---
void OnStart()
  {
   CArrayObj *array=new CArrayObj;
   //---
   if(array==NULL)
     {
      printf("Errore creazione oggetto");
      return;
     }
   //--- aggiungi elementi dell'array
   //--- . . .
   CObject *object=array.Detach(0);
   if(object==NULL)
     {
      printf("Errore distaccamento");
      delete array;
      return;
     }
   //--- usa elemento array
   //--- . . .
   //--- elimina elemento
   delete object;
   //--- elimina array
   delete array;
  }