Namespaces
Variants

operator+(std::reverse_iterator)

cppreference.net에서
 
 
반복자 라이브러리
반복자 개념
반복자 기본 요소
알고리즘 개념 및 유틸리티
간접 호출 가능 개념
공통 알고리즘 요구 사항
(C++20)
(C++20)
(C++20)
유틸리티
(C++20)
반복자 어댑터
범위 접근
(C++11)(C++14)
(C++14)(C++14)  
(C++11)(C++14)
(C++14)(C++14)  
(C++17)(C++20)
(C++17)
(C++17)
 
 
헤더에 정의됨 <iterator>
template< class Iter >
reverse_iterator<Iter> operator+
    ( typename reverse_iterator<Iter>::difference_type n,
      const reverse_iterator<Iter>& it );
(C++17부터 constexpr)
(C++23까지)
template< class Iter >
constexpr reverse_iterator<Iter> operator+
    ( std::iter_difference_t<Iter> n, const reverse_iterator<Iter>& it );
(C++23부터)

반복자 it를 n만큼 증가시킨 것을 반환합니다. 실제로는 기본 반복자가 n만큼 감소합니다.

매개변수

n - 반복자를 증가시킬 위치의 수
it - 증가시킬 반복자 어댑터

반환값

reverse_iterator < Iter > ( it. base ( ) - n )

예제

#include <iostream>
#include <iterator>
#include <list>
#include <vector>
int main()
{
    {
        std::vector v{0, 1, 2, 3};
        std::reverse_iterator<std::vector<int>::iterator>
            ri1{std::reverse_iterator{v.rbegin()}};
        std::cout << *ri1 << ' '; // 3
        std::reverse_iterator<std::vector<int>::iterator> ri2{2 + ri1};
        std::cout << *ri2 << ' '; // 1
    }
    {
        std::list l{5, 6, 7, 8};
        std::reverse_iterator<std::list<int>::iterator>
            ri1{std::reverse_iterator{l.rbegin()}};
        std::cout << *ri1 << '\n'; // 8
    //  auto ri2{2 + ri1}; // 오류: 기본 반복자가
                           //        임의 접근 반복자를 모델링하지 않음
    }
}

출력:

3 1 8

참고 항목

reverse_iterator 를 증가 또는 감소시킵니다
(public member function)
두 iterator adaptor 사이의 거리를 계산합니다
(function template)