MetaTrader 5 herunterladen

Detach

Nimmt ein Element aus der angegebene Position des Arrays aus.

CObject*  Detach(
   int  pos      // Position
   )

Parameter

pos

[in]  Position des ausgenommenen Elements im Array.

Rückgabewert

Gibt bei Erfolg einen Zeiger auf das ausgenommenen Element zurück, NULL wenn das Element nicht ausgenommen werden kann.

Bemerkung

Bei der Ausnahme aus einem Array wird das Element nicht gelöscht in jedem Zustand des Flags von Speicherverwaltung. Ein Zeiger auf ein ausgenommenen Element soll nach der Verwendung freigegeben werden.

Beispiel:

//--- example for CArrayObj::Detach(int)
#include <Arrays\ArrayObj.mqh>
//---
void OnStart()
  {
   CArrayObj *array=new CArrayObj;
   //---
   if(array==NULL)
     {
      printf("Object create error");
      return;
     }
   //--- add arrays elements
   //--- . . .
   CObject *object=array.Detach(0);
   if(object==NULL)
     {
      printf("Detach error");
      delete array;
      return;
     }
   //--- use element
   //--- . . .
   //--- delete element
   delete object;
   //--- delete array
   delete array;
  }