std::iterator

std::iterator (반복자 기본 클래스)

반복자에 필요한 타입 정의를 단순화하기 위해 제공되는 기본 클래스예요. C++17에서 deprecated 되었어요.

출처: cppreference

본문

<iterator> 헤더에 정의돼 있어요.

template<
    class Category,
    class T,
    class Distance = std::ptrdiff_t,
    class Pointer = T*,
    class Reference = T&
> struct iterator;

std::iterator는 반복자에 필요한 타입 정의를 단순화하기 위해 제공되는 기본 클래스예요.

템플릿 매개변수

  • Category — 반복자의 카테고리. 반복자 카테고리 태그 중 하나여야 해요.
  • T — 반복자를 역참조해 얻을 수 있는 값의 타입. 출력 반복자에서는 void여야 해요.
  • Distance — 반복자 간 거리를 식별하는 데 쓸 수 있는 타입.
  • Pointer — 반복 대상 타입(T)을 가리키는 포인터를 정의.
  • Reference — 반복 대상 타입(T)에 대한 참조를 정의.

멤버 타입

멤버 타입 정의
iterator_category Category
value_type T
difference_type Distance
pointer Pointer
reference Reference

C++17에서 더 이상 사용하지 않게(deprecated) 되었어요. 새 코드에서는 std::iterator_traits를 직접 정의하는 것을 권장해요.

더 알아보기 (Learn more)

cppreference