std::deque::crbegin
#include <deque>
const_reverse_iterator crbegin() const noexcept;
Trả về một const_reverse_iterator
trỏ đến phần tử cuối cùng của deque.
Tham số
Không có tham số
Giá trị trả về
- Trả về một
const_reverse_iterator
trỏ đến phần tử cuối cùng của deque.const_reverse_iterator
chỉ cho phép đọc giá trị, không cho phép thay đổi.
Đặc điểm
crbegin()
được sử dụng để lấy một iterator cho phép đọc các phần tử của deque theo thứ tự đảo ngược, bắt đầu từ phần tử cuối cùng, nhưng không cho phép thay đổi giá trị của chúng. Nó thường được sử dụng trong các vòng lặp khi bạn chỉ cần truy cập giá trị mà không cần sửa đổi theo chiều ngược lại.crbegin()
được đánh dấu lànoexcept
, nghĩa là nó được đảm bảo không ném ra ngoại lệ nào.crbegin()
thường được sử dụng cùng vớicrend()
để duyệt ngược qua toàn bộ deque.crend()
trả vềconst_reverse_iterator
trỏ đến phần tử "past-the-end" ở phía trước phần tử đầu tiên (theo chiều duyệt thông thường).rbegin()
trả vềreverse_iterator
(có thể đọc và ghi), trong khicrbegin()
trả vềconst_reverse_iterator
(chỉ đọc).- Gọi
crbegin()
không làm thay đổi nội dung của deque. - Độ phức tạp:
O(1)
- Thời gian hằng số.
Ví dụ
#include <iostream>
#include <deque>
#include <algorithm>
int main() {
std::deque<int> myDeque = {1, 2, 3, 4, 5};
// Tìm giá trị lớn nhất sử dụng crbegin() và crend()
auto it = std::max_element(myDeque.crbegin(), myDeque.crend());
if (it != myDeque.crend())
{
std::cout << "Largest element: " << *it << std::endl; // Output: Largest element: 5
}
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 deque |
crend | Trả về một const_reverse_iterator trỏ đến phần tử trước phần tử đầu tiên của deque |
rbegin | Trả về một reverse iterator trỏ đến phần tử cuối cùng của deque |