2005년 5월 30일 월요일

[tech]iterator

오늘은 iterator 때문에 삽질을 했다.
STL iterator는 increment를 하면 변수 내부값이 변하는 데,
우리팀의 library는 increment를 하면 변수 내부값도 증가하고
끝인지는 return값으로 확인해야 한다.


std::vector::iterator it;
while(it != 끝)
{
    이짓저짓
    it++;   
};


우리꺼::vector::iterator it;
it.open();
// iterator의 open, close도 필요하다.
ret = it.next(); // 시작할 때도 한 번 next해줘야 한다.
while(ret)
{
    it.이짓저짓
    ret = it.next();
};
it.close();


그것도 모르고 return값을 그냥 버렸더니, 무한 루프 돌다가
boundary를 넘어서 계속 core dump를 했다.

댓글 없음:

댓글 쓰기