std::deque::operator[]
#include <deque>
Truy cập đọc/ghi giá trị trực tiếp vào các phần tử của deque thông qua chỉ số (index) của chúng.
reference operator[] (size_type n);
const_reference operator[] (size_type n) const;
Tham số
n
- Chỉ số (index) của phần tử cần truy cập, kiểu
size_type(thường làstd::size_t). - Chỉ số hợp lệ nằm trong khoảng từ
0đếnsize() - 1.
Giá trị trả về
reference(phiên bản khôngconst):- Trả về một tham chiếu (có thể đọc và ghi) đến phần tử tại vị trí
n. Bạn có thể sử dụng tham chiếu này để thay đổi giá trị của phần tử.
- Trả về một tham chiếu (có thể đọc và ghi) đến phần tử tại vị trí
const_reference(phiên bảnconst):- Trả về một tham chiếu hằng (chỉ đọc) đến phần tử tại vị trí
n. Phiên bản này được sử dụng khi deque là một đối tượngconst.
- Trả về một tham chiếu hằng (chỉ đọc) đến phần tử tại vị trí
Đặc điểm
- Toán tử
[]cho phép truy cập trực tiếp vào phần tử tại vị trínvới độ phức tạpO(1)- thời gian hằng số, rất nhanh chóng. - Toán tử
[]không kiểm tra xem chỉ sốncó nằm trong phạm vi hợp lệ hay không (từ0đếnsize() - 1). Nếu truy cập ngoài phạm vi, hành vi sẽ là không xác định (undefined behavior), có thể dẫn đến lỗi hoặc crash chương trình. - Deque cũng cung cấp hàm
at()để truy cập phần tử theo chỉ số.at()có kiểm tra phạm vi và ném ra ngoại lệstd::out_of_rangenếu chỉ số không hợp lệ, an toàn hơn[]nhưng chậm hơn một chút. - Toán tử
[]trả về tham chiếu, cho phép bạn thay đổi trực tiếp giá trị của phần tử. - Phiên bản
constđược sử dụng cho các đối tượng dequeconst, đảm bảo tính an toàn vềconst.
Ví dụ
#include <iostream>
#include <deque>
int main() {
std::deque<int> myDeque = {1, 2, 3};
std::cout << myDeque[5] << '\n'; // Truy cập ngoài phạm vi, hành vi không xác định!
myDeque[-1] = 10; // Truy cập ngoài phạm vi, hành vi không xác định!
return 0;
}
Các hàm liên quan
| at | Cung cấp cách thức truy cập an toàn đến các phần tử của deque thông qua chỉ số (index) |
| front | Trả về tham chiếu đến phần tử đầu tiên trong deque |
| back | Trả về tham chiếu đến phần tử cuối cùng trong deque |