DetachCurrent
DetachCurrent
Extracts an element from the current position in the list without its “physical” deletion.
CObject* DetachCurrent()Return Value
Pointer to the removed element in case of success, NULL - cannot remove the element.
Note
When removed from the list, the element is not removed in any state of the memory management flag. The pointer to the extracted element should be released after it has been used.
Example:
//--- 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;
}Last updated on