std::make_reverse_iterator

std::make_reverse_iterator (역방향 반복자 생성)

주어진 반복자 i에 대한 std::reverse_iterator를 생성하는 편의 함수 템플릿이에요. 인자의 타입에서 타입을 추론해요. C++14부터 있어요(C++17부터 constexpr).

출처: cppreference

본문

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

template< class Iter >
std::reverse_iterator<Iter> make_reverse_iterator( Iter i );

make_reverse_iterator는 인자 타입에서 타입을 추론해 주어진 반복자 i(LegacyBidirectionalIterator여야 해요)에 대한 std::reverse_iterator를 생성하는 편의 함수 템플릿이에요.

매개변수

  • i — 역방향 반복자로 변환할 반복자

반환값

std::reverse_iterator<Iter>(i)

참고

특성 매크로 __cpp_lib_make_reverse_iterator는 C++14에서 201402L이에요.

예제

#include <algorithm>
#include <iostream>
#include <iterator>
#include <vector>

int main()
{
    std::vector<int> v{1, 3, 10, 8, 22};

    std::sort(v.begin(), v.end());
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, ", "));
    std::cout << '\n';

    std::copy(std::make_reverse_iterator(v.end()),
              std::make_reverse_iterator(v.begin()),
              std::ostream_iterator<int>(std::cout, ", "));
    std::cout << '\n';
}

더 알아보기 (Learn more)

cppreference