std::rbegin
std::rbegin (역방향 시작 반복자)
주어진 범위·컨테이너·배열의 역방향 시작을 가리키는 반복자를 돌려주는 함수예요. C++14부터 있어요.
출처: cppreference
본문
다양한 컨테이너 헤더와 <iterator> 헤더에 정의돼 있어요.
// (1) C++14 (C++17부터 constexpr)
template< class C >
auto rbegin( C& c ) noexcept(noexcept(c.rbegin()))
-> decltype(c.rbegin());
// (2) C++14 (C++17부터 constexpr)
template< class C >
auto rbegin( const C& c ) noexcept(noexcept(c.rbegin()))
-> decltype(c.rbegin());
// (3) C++14 (C++17부터 constexpr, noexcept)
template< class T, std::size_t N >
std::reverse_iterator<T*> rbegin( T (&array)[N] ) noexcept;
// (4) C++14, crbegin
template< class C >
constexpr auto crbegin( const C& c ) noexcept(/* ... */)
-> decltype(std::rbegin(c));
- 1,2) 컨테이너
c의rbegin()을 반환해요. -
- 배열의 마지막 요소를 가리키는
std::reverse_iterator<T*>를 돌려줘요.
- 배열의 마지막 요소를 가리키는
crbegin은const역방향 시작 반복자를 돌려줘요.
반환값
범위의 마지막 요소를 가리키는 역방향 반복자예요.
예제
#include <iostream>
#include <vector>
#include <iterator>
int main()
{
std::vector<int> v = {3, 1, 4};
std::cout << *std::rbegin(v) << '\n'; // "4"
}