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

std::queue::front

#include <queue>

      reference& front();
const_reference& front() const;

Trả về tham chiếu đến phần tử ở đầu của std::queue (phần tử sẽ được lấy ra tiếp theo bởi pop()).

Tham số

Không có tham số

Giá trị trả về

  • reference (phiên bản không const): Trả về một tham chiếu (có thể đọc và ghi) đến phần tử ở đầu std::queue. Bạn có thể sử dụng tham chiếu này để thay đổi giá trị của phần tử.
  • const_reference (phiên bản const): Trả về một tham chiếu hằng (chỉ đọc) đến phần tử ở đầu std::queue. Phiên bản này được sử dụng khi std::queue là một đối tượng const.

Đặc điểm

  1. Truy cập phần tử đầu tiên: front() cung cấp cách thức nhanh chóng và tiện lợi để truy cập phần tử ở đầu của std::queue.
  2. Tham chiếu: front() trả về tham chiếu, cho phép bạn thay đổi trực tiếp giá trị của phần tử đầu tiên (trừ phiên bản const).
  3. Hai phiên bản: Phiên bản const được sử dụng cho các đối tượng std::queue const, đảm bảo tính an toàn về const.
  4. Hành vi không xác định khi queue rỗng: Gọi front() trên một std::queue rỗng sẽ dẫn đến hành vi không xác định (undefined behavior). Bạn nên kiểm tra empty() trước khi gọi front().
  5. Không làm thay đổi queue (ngoại trừ việc thay đổi giá trị phần tử đầu tiên thông qua tham chiếu trả về): Gọi front() không làm thay đổi cấu trúc, kích thước hay các phần tử khác của std::queue.
  6. Dựa trên underlying container: front() của std::queue thực chất gọi hàm front() của underlying container.
  7. Độ phức tạp: O(1) - thời gian hằng số.

Ví dụ

#include <iostream>
#include <queue>

int main() {
std::queue<int> myqueue;

myqueue.push(10);
myqueue.push(20);
myqueue.push(30);

// Truy cập và in ra phần tử đầu tiên
std::cout << "Front element: " << myqueue.front() << '\n'; // Output: Front element: 10

// Thay đổi giá trị của phần tử đầu tiên (thông qua tham chiếu)
myqueue.front() = 5;

// In ra phần tử đầu tiên sau khi thay đổi
std::cout << "Front element after modification: " << myqueue.front() << '\n'; // Output: Front element after modification: 5

return 0;
}

Các hàm liên quan

popXóa phần tử ở đầu của std::queue
backTrả về tham chiếu đến phần tử ở cuối của std::queue