본문 바로가기
C++/이론 및 용어

iterator 반복자

by tokkiC 2022. 6. 8.
iterate 반복하다
iterator 반복자

반복자란 반복하는 다음 데이터를 가리키는 배열의 일종이다. 배열이고 가리키니 포인터로서의 성질도 있다

반복자란 기능적으로 배열의 부분집합에 해당된다

배열처럼 연속되는 데이터를 다룰때 반복해서 넘어가서 가리키는 배열의 그 기능만 가져온 것이다

왜 기능도 더 많은 배열을 쓰지 반복자를 따로 쓸까?


배열로 쉬운 일이 있고, 반복자를 써야 메모리의 소모를 줄일 수 있기 때문이다

 

1. 배열을 사용하여 작업시, 작업에 필요한 모든 데이터들을 데이터를 올려놓고 사용해야만 하기 메모리의 소모가 크지만

반복자를 사용할때는 현재 사용하는 데이터 하나만 메모리에 올려서 사용하면 되기 때문에 메모리 사용을 줄일 수 있다

2. 배열의 경우, 배열에서 값을 가져올 시 인덱스만 알면 바로 해당 인덱스에서 값을 가져올 수 있지만

반복자의 경우, 이전 데이터의 다음 값만 가져올 수 있으므로 데이터를 처음부터 따라가서 찾아야만 한한다

3. 배열의 경우, 배열의 아이템의 총 개수를 바로 알 수 있다. 

반복자의 경우, 따라가서 세어야만 아이템의 총 개수를 알 수 있다

 

일정한 규칙이 있는 수열같은 데이터를 다룰경우 반복자가 배열보다 나은 선택일 것이다

배열과 반복자의 장단점을 알고 쓰도록 하자

댓글