Chuyển tới nội dung chính

std::vector::rbegin

#include <vector>

      reverse_iterator rbegin() noexcept;
const_reverse_iterator rbegin() const noexcept;

Trả về một iterator ngược (reverse iterator) trỏ tới phần tử cuối cùng của vector.

Tham số

Không có tham số

Giá trị trả về

  • rbegin() trả về một reverse iterator, cho phép duyệt vector từ phần tử cuối cùng đến phần tử đầu tiên.
  • Iterator này là kiểu std::vector<T>::reverse_iterator hoặc std::vector<T>::const_reverse_iterator nếu vector là const.
  • Nếu vector rỗng, rbegin() sẽ bằng rend() (iterator kết thúc), không gây lỗi truy cập bộ nhớ.

Đặc điểm

  1. rbegin() bắt đầu từ phần tử cuối cùng và hướng về đầu vector. Nó thường kết hợp với rend() để duyệt qua toàn bộ vector theo thứ tự ngược lại.
  2. Sử dụng rbegin() rất hữu ích trong các tình huống cần duyệt hoặc xử lý dữ liệu từ cuối về đầu.
  3. rbegin() có thể được sử dụng với các hàm trong thư viện <algorithm> của C++, như std::sort, std::find,... để thực hiện các thao tác ngược mà không cần thay đổi nội dung vector.

Ví dụ

// vector::rbegin/rend
#include <iostream>
#include <vector>

int main ()
{
std::vector<int> myvector (5); // 5 default-constructed ints

int i=0;

std::vector<int>::reverse_iterator rit = myvector.rbegin();
for (; rit!= myvector.rend(); ++rit)
*rit = ++i;

std::cout << "myvector contains:";
for (std::vector<int>::iterator it = myvector.begin(); it != myvector.end(); ++it)
std::cout << ' ' << *it;
std::cout << '\n';

return 0;
}

Các hàm liên quan

backTruy xuất phần tử tại vị trí cuối cùng
rendTrả về một iterator ngược trỏ tới phần tử trước phần tử đầu tiên của vector
beginTrả về một iterator trỏ đến phần tử đầu tiên của vector
endTrả về một iterator trỏ đến vị trí ngay sau phần tử cuối cùng của vector