operator+(std::reverse_iterator)
cppreference.net에서
| 헤더에 정의됨 <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) |