std::vector::crbegin
#include <vector>
const_reverse_iterator crbegin() const noexcept;
Trả về một iterator ngược hằng (constant 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ề
- Trả về const reverse iterator:
crbegin()
trả về một const_reverse_iterator (iterator ngược hằng), giúp duyệt vector theo chiều ngược lại từ phần tử cuối đến phần tử đầu. Do làconst
, iterator này không cho phép thay đổi giá trị của các phần tử mà nó trỏ tới.
Đặc điểm
- Duyệt ngược (reverse): Iterator này sẽ bắt đầu từ phần tử cuối cùng của vector và di chuyển về phía đầu. Điều này hữu ích khi cần thao tác hoặc truy cập các phần tử theo thứ tự đảo ngược mà không làm thay đổi dữ liệu.
- Chỉ đọc (read-only):
crbegin()
chỉ cho phép duyệt qua các phần tử mà không thể sửa đổi nội dung của chúng. Điều này giúp đảm bảo tính an toàn khi làm việc với dữ liệu không muốn thay đổi. crbegin()
thường được dùng cùng vớicrend()
(iterator kết thúc hằng ở trước phần tử đầu tiên) trong các vòng lặp for hoặcwhile
để duyệt ngược qua vector mà vẫn bảo toàn dữ liệu.
Ví dụ
#include <iostream>
#include <vector>
int main ()
{
std::vector<int> myvector = {1,2,3,4,5};
std::cout << "myvector backwards:";
for (auto rit = myvector.crbegin(); rit != myvector.crend(); ++rit)
std::cout << ' ' << *rit;
std::cout << '\n';
return 0;
}
Các hàm liên quan
begin | Trả về một iterator trỏ đến phần tử đầu tiên của vector |
crend | Trả về một iterator ngược hằng trỏ tới phần tử trước phần tử đầu tiên của vector |
rbegin | Trả về một iterator ngược (reverse iterator) trỏ tới phần tử cuối cùng của vector |