티스토리 뷰

노트

c++) iterator 종류

tose33 2022. 1. 4. 14:40

c++의 컨테이너마다 지원되는 iterator의 종류가 다르다. 

 

입력 반복자 (input iterator)

- 읽기만 가능 

- 증감: ++ 

- 비교: ==, != 

- 사용: istream_iterator 

 

출력 반복자 (output iterator)

- 쓰기만 가능 (접근 불가) 

- 증감: ++

- 비교: 불가능

- 사용: ostream_iterator 

 

순방향 반복자 (forward iterator)

- 읽기, 쓰기, 접근 가능 

- 증감: ++

- 비교 ==, != 

 

양방향 반복자 (bidirectional iterator) 

- 읽기, 쓰기, 접근 가능 

- 증감: ++, --

- 비교: ==, != 

- 사용: list, set(multiset), map(multimap)

 

임의접근 반복자 (random access iterator)

- 읽기, 쓰기, 접근 가능 

- 증감: ++, --, +, -, +=, -=

- 비교: ==, !=, <, >, <=, >= 

- [] 사용가능, iterator[n] = *(iterator + n)

- 사용: vector, deque 

 

반복자 종류 생성되는 방식 읽기 접근 쓰기 증감 비교
입력 반복자
(input iterator)
istream_iterator =*p ->   ++ == !=
출력 반복자
(output iterator)
ostream_iterator 
inserter 
front_inserter 
back_inserter
    *p= ++  
순방향 반복자
(forward iterator)
  =*p -> *p= ++ == !=
양방향 반복자 
(bidirectional iterator) 
list
set과 multiset
map과 multimap
=*p -> *p= ++ -- == !=
임의접근 반복자
(random access iterator) 
일반 포인터
vector
deque
=*p ->
[]
*p= ++ --
+  -
+= -=
== !=
<  >
<= >=



출처: https://mayple.tistory.com/entry/CSTL2장-반복자iterator [Maple Story]

'노트' 카테고리의 다른 글

c++) 함수 별 시간복잡도  (0) 2022.01.04
c++) 컨테이너 종류  (0) 2022.01.04
C# 자주쓰는 함수 정리  (0) 2021.12.31
kotlin 자주쓰는 함수 정리  (0) 2021.12.31
java) BufferedReader, BufferedWriter, StringBuilder  (0) 2021.12.30
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함