Скачать MetaTrader 5

DetachCurrent

Изымает элемент из текущей позиции списка не удаляя его "физически".

CObject*  DetachCurrent()

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

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

Примечание

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

Пример:

//--- example for CList::DetachCurrent() 
#include <Arrays\List.mqh> 
//--- 
void OnStart() 
  { 
   CList *list=new CList; 
   //--- 
   if(list==NULL
     { 
      printf("Object create error"); 
      return
     } 
   //--- add list elements 
   //--- . . . 
   CObject *object=list.DetachCurrent(); 
   if(object==NULL
     { 
      printf("Detach error"); 
      delete list; 
      return
     } 
   //--- use element 
   //--- . . . 
   //--- delete element 
   delete object; 
   //--- delete list 
   delete list; 
  }