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

std::queue::back

#include <queue>

      reference& back();
const_reference& back() const;

Trả về tham chiếu đến phần tử ở cuối của std::queue (phần tử được thêm vào sau cùng).

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ử ở cuối 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ử ở cuối 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ử cuối cùng: back() cung cấp cách thức nhanh chóng và tiện lợi để truy cập phần tử ở cuối của std::queue.
  2. Tham chiếu: back() trả về tham chiếu, cho phép bạn thay đổi trực tiếp giá trị của phần tử cuối cùng (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 back() 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 back().
  5. Không làm thay đổi queue (ngoại trừ việc thay đổi giá trị phần tử cuối cùng thông qua tham chiếu trả về): Gọi back() 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: back() của std::queue thực chất gọi hàm back() 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ử cuối cùng
std::cout << "Last element: " << myqueue.back() << '\n'; // Output: Last element: 30

// Thay đổi giá trị của phần tử cuối cùng (thông qua tham chiếu)
myqueue.back() = 99;

// In ra phần tử cuối cùng sau khi thay đổi
std::cout << "Last element after modification: " << myqueue.back() << '\n'; // Output: Last element after modification: 99

return 0;
}

Các hàm liên quan

frontTrả về tham chiếu đến phần tử ở đầu của std::queue
pushThêm một phần tử mới vào cuối std::queue