DetachCurrent

목록의 현재 위치에서 "실제" 삭제 없이 요소를 추출합니다.

CObject*  DetachCurrent()

Return Value

성공한 경우 제거된 요소에 대한 포인터, NULL - 요소를 제거할 수 없음.

Note

목록에서 제거해도 요소는 메모리 관리 플래그의 어떤 상태에서도 제거되지 않습니다. 추출된 요소에 대한 포인터는 사용된 후 해제되어야 합니다.

예제:

//--- 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; 
  }