Detach

从数组里删除给定位置的元素。

CObject*  Detach(
   int  pos      // 位置
   )

参数

pos

[输入]  在数组中的元素位置。

返回值

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

注释

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

例如:

//--- 例程 CArrayObj::Detach(int)
#include <Arrays\ArrayObj.mqh>
//---
void OnStart()
  {
   CArrayObj *array=new CArrayObj;
   //---
   if(array==NULL)
     {
      printf("对象创建错误");
      return;
     }
   //--- 添加数组元素
   //--- . . .
   CObject *object=array.Detach(0);
   if(object==NULL)
     {
      printf("Detach error");
      delete array;
      return;
     }
   //--- 使用元素
   //--- . . .
   //--- 删除元素
   delete object;
   //--- 删除数组
   delete array;
  }