Detach

Изымает элемент из указанной позиции массива.

CObject*  Detach(
   int  pos      // позиция
   )

Параметры

pos

[in]  Позиция изымаемого элемента в массиве.

Возвращаемое значение

Указатель на изъятый элемент в случае успеха, NULL – если нет возможности изъять элемент.

Примечание

При изъятии из массива элемент не удалится при любом состоянии флага управления памятью. Указатель на изъятый из массива элемент небходимо освободить после использования.

Пример:

//--- 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;
  }