array::rbegin

array::rbegin (역방향 첫 원소 반복자 얻기)

역방향 배열에서 첫 번째 원소를 가리키는 역방향 반복자를 반환하는 멤버 함수예요. 원래 배열의 마지막 원소에 해당해요. 상수 시간에 동작해요. C++11부터 있어요.

출처: cppreference

본문

rbegin()은 역방향 순회의 시작점에 해당하는 역방향 반복자를 돌려줘요.

reverse_iterator rbegin() noexcept;                    // (1)

const_reverse_iterator rbegin() const noexcept;        // (2)

const_reverse_iterator crbegin() const noexcept;       // (3)

이 반복자는 뒤집힌 배열의 첫 원소, 즉 뒤집기 전 배열의 마지막 원소를 가리켜요. 배열이 비어 있다면 반환된 반복자는 rend()와 같아요.

  • 반환 값: 역방향의 첫 원소를 가리키는 반복자.
  • 복잡도: 상수 시간.
  • 참고: 반환되는 역방향 반복자의 내부 반복자는 end 반복자예요. 그래서 end 반복자가 무효화되면 이 반복자도 함께 무효화돼요.

역방향으로 순회하며 요소를 읽거나 수정할 때 rbegin()/rend() 짝을 쓰면 돼요.

std::array<int, 5> a{1, 2, 3, 4, 5};
for (auto it = a.rbegin(); it != a.rend(); ++it)
    std::cout << *it << ' ';   // 5 4 3 2 1

읽기 전용 순회라면 crbegin()을 쓰면 더 안전해요. C++17부터 constexpr이라 컴파일 타임에도 사용 가능해요.

더 알아보기 (Learn more)

cppreference