×

Lấy phần tử cuối cùng trong vector với std::vector::back() trong C++

Trong lập trình C++, thư viện chuẩn cung cấp nhiều công cụ hữu ích để làm việc với các container, trong đó có std::vector. Một trong những phương pháp thường hay sử dụng với std::vector là truy cập phần tử cuối cùng của vector. Để thực hiện việc này, ta có thể sử dụng phương thức back().

Tìm hiểu về std::vector

std::vector là một container động trong thư viện chuẩn C++ (STL - Standard Template Library), cho phép lưu trữ các phần tử cùng kiểu dữ liệu. Một số đặc điểm chính của std::vector bao gồm:

  1. Kích thước động: Kích thước của vector có thể thay đổi trong suốt thời gian thực thi của chương trình.
  2. Truy cập ngẫu nhiên: Cho phép truy cập nhanh đến bất kỳ phần tử nào thông qua chỉ số của nó.
  3. Điều hành dễ dàng: Cung cấp nhiều phương thức để thêm, xóa, và truy xuất dữ liệu.

Phương thức back()

Phương thức back() là một tính năng hữu ích của std::vector, giúp bạn truy xuất phần tử cuối cùng một cách dễ dàng mà không cần biết tổng số phần tử hay chỉ số của phần tử cuối cùng. Cú pháp sử dụng back() rất đơn giản:

T &back();
const T &back() const;

Trong đó T là kiểu dữ liệu của các phần tử trong std::vector. Đối với vector không hằng, back() trả về tham chiếu đến phần tử cuối cùng; đối với vector hằng, nó trả về tham chiếu hằng đến phần tử cuối cùng.

Ví dụ minh họa:

Dưới đây là một ví dụ đơn giản minh họa cách sử dụng back():

#include <iostream>
#include <vector>

int main() {
    // Tạo một vector chứa các số nguyên
    std::vector<int> numbers = {1, 2, 3, 4, 5};

    // Truy xuất và in ra phần tử cuối cùng
    int lastElement = numbers.back();
    std::cout << "Phần tử cuối cùng là: " << lastElement << std::endl;

    return 0;
}

Khi chạy đoạn mã trên, kết quả sẽ là:

Phần tử cuối cùng là: 5

Lưu ý:

  1. Kiểm tra độ rỗng của vector: Trước khi sử dụng back(), hãy đảm bảo rằng vector không rỗng để tránh lỗi runtime. Bạn có thể kiểm tra bằng phương thức empty():

    if (!numbers.empty()) {
        int lastElement = numbers.back();
        std::cout << "Phần tử cuối cùng là: " << lastElement << std::endl;
    } else {
        std::cout << "Vector rỗng" << std::endl;
    }
    
  2. Thay đổi phần tử cuối cùng: Nếu vector không hằng, bạn có thể sử dụng back() để thay đổi phần tử cuối cùng:

    numbers.back() = 10;
    

Qua bài viết này, bạn đã hiểu rõ hơn về cách truy cập phần tử cuối cùng trong std::vector với back(), một chức năng rất tiện dụng và hiệu quả trong lập trình C++.

Comments