블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2794)
Unity3D (852)
Programming (478)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (185)
협업 (11)
3DS Max (3)
Game (12)
Utility (68)
Etc (98)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (55)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday

1. 개요

오브잭트 자원관리를 하다보면 오브잭트가 죽거나 더이상 어떤이유로 필요없어질 경우에 리스트에서 제거를 하려면 순회도중 죽었는지 검사해서 루프를 도는 도중 삭제를 해야한다.

 

2. 구현

it = list1.begin();
while(it != list1.end())
{
    if(*it == 죽었나?) list1.erase(it++);
    else ++it;	 	   
}
3.원리
원리는 먼저 it값이 erase()로 복사되어 넘어가고, 
it++가 실행되고, 마지막으로 erase()로 넘어간 복사된 it이 할 일을 마치고 무효화됨. 



[출처]
stl list 순회도중 삭제하기|작성자 도플광어
반응형
Posted by blueasa
, |