티스토리 뷰
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
링크
TAG
- back tracking
- greedy
- Implementation
- db
- C
- 이분탐색
- BFS
- C++
- Dijkstra
- Brute Force
- Unity
- binary search
- Kruskal
- priority queue
- two pointer
- 재귀
- CSS
- Stack
- Python
- Tree
- graph
- MVC
- recursion
- dfs
- 조합
- Spring
- permutation
- floyd warshall
- DP
- 자료구조
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함