std::vector::back
#include <vector>
reference back();
const_reference back() const;
Truy xuất phần tử tại vị trí cuối cùng.
Tham số
Không có tham số
Giá trị trả về
- Hàm
back()
trả về tham chiếu tới phần tử cuối cùng của vector. Điều này cho phép bạn truy cập và thay đổi giá trị của phần tử cuối cùng. - Hàm
back()
tương tự như hàmend() - 1
, nhưngend()
trả về iterator tới phần tử sau phần tử cuối cùng, trong khiback()
trả về tham chiếu trực tiếp. - Nếu vector là hằng hàm sẽ trả về const_reference. Ngược lại, nó sẽ trả về một tham chiếu.
Đặc điểm
back()
trả về tham chiếu (reference) đến phần tử cuối cùng trong vector.- Gọi
back()
trên một vector rỗng sẽ gây ra hành vi không xác định (undefined behavior). - Thời gian truy cập phần tử là
O(1)
, vì vector lưu trữ phần tử theo cơ chế tuyến tính trong bộ nhớ. - Thay đổi phần tử cuối qua tham chiếu: Nếu gọi trên vector không hằng, bạn có thể trực tiếp sửa đổi giá trị phần tử cuối.
Ví dụ
#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
// Truy cập phần tử cuối
std::cout << "Phần tử cuối cùng: " << numbers.back() << '\n';
// Thay đổi phần tử cuối
numbers.back() = 10;
std::cout << "Phần tử cuối sau khi thay đổi: " << numbers.back() << '\n';
return 0;
}
Gọi hàm trên vector hằng
#include <iostream>
#include <vector>
void printLastElement(const std::vector<int>& vec) {
if (!vec.empty()) {
std::cout << "Phần tử cuối cùng: " << vec.back() << '\n';
} else {
std::cout << "Vector rỗng!\n";
}
}
int main() {
std::vector<int> numbers = {1, 2, 3};
printLastElement(numbers);
return 0;
}
Cần kiểm tra vector có rỗng hay không trước khi gọi back()
:
if (!vector_name.empty()) {
vector_name.back() = value; // An toàn
}
Các hàm liên quan
front | Truy xuất phần tử tại vị trí đầu tiên |
at | Truy xuất phần tử tại vị trí chỉ định |
[] | Truy xuất phần tử tại vị trí chỉ định |
push_back | Thêm một phần tử vào cuối vector |
pop_back | Xóa phần tử cuối cùng của vector |