Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++의 양방향 반복자

<시간/>

여기서 우리는 C++에서 양방향 반복자의 개념을 볼 것입니다.

  • 양방향 반복기는 순방향 반복기의 모든 기능과 접두사 및 접미사 감소 연산자를 지원합니다.
  • 이 유형의 반복기는 끝과 시작과 같이 양방향으로 요소에 액세스할 수 있습니다.
  • 임의 액세스 반복자는 양방향 반복자의 일종이기도 합니다.
  • 양방향 반복자에는 순방향 반복자의 기능이 있지만 차이점은 이 반복자도 감소될 수 있다는 것입니다.

양방향 반복자에는 몇 가지 속성이 있습니다. 아래와 같습니다.

속성 표현식
양방향 반복자는 기본적으로 구성 가능하고 복사 할당 가능하며 소멸 가능합니다. p
A q(p)
q =p
동등 및 부등호 연산자를 사용하여 비교할 수 있습니다. p ==q
피 !=q
역참조할 수 있습니다. 역참조 연산자(*)를 사용하여 값을 얻을 수 있습니다. *p
변경 가능한 반복자는 lvalue로 역참조될 수 있습니다. *p =t
증가 연산자(++)와 감소 연산자(--)를 사용하여 증가 또는 감소할 수 있습니다. p++
q--

예시 코드

#include <iostream>
#include<iterator>
#include<vector>
using namespace std;
int main() {
   vector<int> vec{10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
   vector<int> ::iterator it;
   vector<int> :: reverse_iterator rev_it;
   for(it = vec.begin(); it != vec.end(); it++)
      cout<<*it<<" ";
      cout<< endl;
   for(rev_it = vec.rbegin(); rev_it!= vec.rend(); rev_it++)
      cout<<*rev_it<<" ";
}

출력

10 20 30 40 50 60 70 80 90 100
100 90 80 70 60 50 40 30 20 10