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) 컨테이너 crbegin()을 반환해요.
    1. 배열의 마지막 요소를 가리키는 std::reverse_iterator<T*>를 돌려줘요.
  • crbeginconst 역방향 시작 반복자를 돌려줘요.

반환값

범위의 마지막 요소를 가리키는 역방향 반복자예요.

예제

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

int main()
{
    std::vector<int> v = {3, 1, 4};
    std::cout << *std::rbegin(v) << '\n'; // "4"
}

더 알아보기 (Learn more)

cppreference