跳至内容

DetachCurrent

DetachCurrent

抽取列表当前位置的元素但无需将其 “物理” 删除。

CObject*  DetachCurrent()

返回值

成功情况下是删除元素的指针, NULL - 如果您未能删除元素。

注释

无论内存管理标志处于什么状态, 从列表删除时元素并未删除。从使用后释放的成分里抽取列表元素的指针。

例如:

//--- 例程 CList::DetachCurrent()
#include <Arrays\List.mqh>
//---
void OnStart()
  {
   CList *list=new CList;
   //---
   if(list==NULL)
     {
      printf("对象创建错误");
      return;
     }
   //--- 添加列表元素
   //--- . . .
   CObject *object=list.DetachCurrent();
   if(object==NULL)
     {
      printf("分离错误");
      delete list;
      return;
     }
   //--- 使用元素
   //--- . . .
   //--- 删除元素
   delete object;
   //--- 删除列表
   delete list;
  }