deulee의 개발 노트

고정 헤더 영역

글 제목

메뉴 레이어

deulee의 개발 노트

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (112)
    • C++ (79)
      • C++98 (36)
      • Modern C++(11, 14, 17, 20) (34)
      • C++ STL (9)
    • 데이터베이스 (0)
    • 컴퓨터 구조 (0)
    • 운영체제 (0)
    • 읽은 책 (0)
    • 네트워크 (0)
    • 알고리즘 (31)
      • 이론 (5)
      • 문제 (26)
    • 잡글 (1)
      • 아이디어 (0)
      • 해야할 것 (0)
      • 목표 (0)
      • 정보글 (1)
    • git (0)

검색 레이어

deulee의 개발 노트

검색 영역

컨텐츠 검색

반복자

  • [STL] 반복자(5) - 속성

    2023.08.23 by deulee

  • [STL] 반복자(2) - 입출력 반복자

    2023.08.23 by deulee

  • [STL] 반복자(1)

    2023.08.23 by deulee

[STL] 반복자(5) - 속성

알고리즘 함수들은 반복자만 인수로 전달받을 뿐 컨테이너에 대해서는 알지 못한다. 그럼 알고리즘은 어떻게 반복자의 특성을 파악할 수 있을까? 사실 함수 입장에서는 어떠한 정보도 알 수 없다. 심지어 반복자인지 정수인지 조차도 분간할 수 없다. 하지만, 이를 분간하는 것을 필요로 하는 상황이 분명이 있기 때문에, STL은 반복자의 특징을 표현하기 위해 iterator_traits 클래스와 이 클래스를 보조하는 여러 가지 타입 정보를 정의한다. template struct iterator_traits { typedef typename Iter::iterator_category iterator_category; // 반복자의 종류 typedef typename Iter::value_type value_type;..

C++/C++ STL 2023. 8. 23. 16:43

[STL] 반복자(2) - 입출력 반복자

입력 반복자 (Input Iterator) 입력 반복자는 가장 기본적인 기능만 제공하는 반복자이다. '읽는 것'만 가능한 반복자로서 요소의 값을 변경하는 것은 불가능하다. a = *it; // 가능 *it = a; // 불가능 그 외에는 증감 및 비교가 가능하다. 즉, 검색하는데 사용되며 단순히 값을 읽기만 하는 동작이므로 요소의 값을 변경하는 것은 필요치 않는다. 이러한 조건을 만족하는 반복자를 '입력 반복자'라고 한다. 출력 반복자 출력 반복자는 반대로 '*' 연산자를 사용하여 요소의 내용을 변경할 수 있는 반복자이다. 쓰기가 가능하면 출력 반복자라고 할 수 있으며 읽기 기능이 필수는 아니다. 또한, 범위 점검을 위한 ==, != 연산자도 필수가 아니다. 즉, '전진하면서 기록 가능'하다는 조건만 만..

C++/C++ STL 2023. 8. 23. 15:27

[STL] 반복자(1)

C언어에서 가장 핵심적인 문법은 '포인터'를 선택할 것이다. 그리고 STL의 가장 핵심적인 요소는 바로 '반복자'이다. 반복자와 포인터의 역할은 사용 방법이 비슷하지만 훨씬 더 '일반화'되어 있어 임의의 컨테이너와 함께 사용할 수 있다. 반복자 이전의 컨테이너 순회 방법 1. 배열 순회하기 void Print(int* ar, int num) { for (int i = 0; i < num; i++) std::cout

C++/C++ STL 2023. 8. 23. 13:02

추가 정보

인기글

최신글

페이징

이전
1
다음
TISTORY
deulee의 개발 노트 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바