Detach

Dizinin belirtilen konumundaki elemanı diziden ayırır.

CObject*  Detach(
   int  pos      // konum
   )

Parametreler

pos

[in] Seçilen elemanın dizi içindeki konumu.

Dönüş Değeri

Kaldırılan elemanın işaretçisi. Eleman kaldırılamamışsa NULL dönüşü yapar.

Not

Eleman diziden ayrıldığında, bellek yönetim bayrağının herhangi bir durumu için bellekten kaldırılmaz. Ayrılan elemanın işaretçisi kullanımdan sonra bellekten silinmelidir.

Örnek:

//--- CArrayObj::Detach(int) için bir örnek
#include <Arrays\ArrayObj.mqh>
//---
void OnStart()
  {
   CArrayObj *array=new CArrayObj;
   //---
   if(array==NULL)
     {
      printf("Nesne oluşturma hatası");
      return;
     }
   //--- diziye eleman ekle
   //--- . . .
   CObject *object=array.Detach(0);
   if(object==NULL)
     {
      printf("Ayırma hatası");
      delete array;
      return;
     }
   //--- elemanı kullan
   //--- . . .
   //--- elemanı sil
   delete object;
   //--- diziyi sil
   delete array;
  }