Detach

배열의 지정된 위치에서 요소를 제거합니다.

CObject*  Detach(
   int  pos      // 위치
   )

Parameters

pos

[in] 배열에서 제거된 항목의 위치.

Return Value

성공적이면 제거된 요소에 대한 포인터, 요소 제거 불가시 Null.

Note

요소가 배열에서 제거되면 메모리 관리 플래그에 관계없이 삭제되지 않습니다. 배열 요소 포인터가 사용되면 할당을 취소해야 합니다.

예제:

//--- 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("분리 오류");
      delete array;
      return;
     }
   //--- 요소 사용
   //--- . . .
   //--- 요소 삭제
   delete object;
   //--- 배열 삭제
   delete array;
  }