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';
}