Iterator
-
[ Anything ] - Iterator - 2C++ 2021. 9. 8. 14:13
Iterator은 크게 Input, Output, Forward, Random Access, Bidirectional iterator로 갈래가 나누어 집니다. 이전엔 input/output에 대해 공부를 했습니다. 나머지도 살펴보도록 합니다. Forward Iterator 대표적으로 사용하는 Algorithm library의 함수 중 하나입니다. 온통 Forward iterator 타입의 오브젝트들로 가득합니다. 이전에 보았던 iterator들의 hierarchy관계도를 보면 알 수 있지만 Forward iterator는 input/output iterator의 조합과 같습니다. input iterator의 access와 output iterator의 assign을 모두 지원한다는 뜻이기도 합니다. 주목..
-
[ Anything ] - Iterator - 1C++ 2021. 9. 7. 17:13
C++에서 자주 사용하는 Iterator입니다. 이 Iterator는 우리가 사용하거나 만든 알고리즘을 STL[Standard Template Library]와 이어주는 일종의 다리의 역할을 하며 C++STL의 주축을 이루는 요소 중 하나입니다. 이 Iterator는 Container의 특정한 메모리 주소를 가리킬 수 있으며 종류에 따라서 Read/Write을 수행할 수 있습니다. 예를 들어서 다음과 같은 Class을 임의로 만들었다고 가정해봅시다. 물론 불완전하긴 하지만 STL의 Algorithm의 여러 함수가 요구하는 Iterator들이 구현이 되어 있기 때문에 Vertex에 필요한 operator을 구현하기만 하다면 정렬이나 제거, 복사 등 유용한 기능들을 활용할 수 있습니다. 그렇기 때문에 Ite..