std::string::back
#include <string>
// Phiên bản non-const:
charT& back();
// Phiên bản const:
const charT& back() const;
Trả về tham chiếu đến ký tự cuối cùng của chuỗi.
Tham số
Không có tham số
Giá trị trả về
- Phiên bản non-const: Tham chiếu (
charT&
) đến ký tự cuối cùng của chuỗi. - Phiên bản const: Tham chiếu hằng (
const charT&
) đến ký tự cuối cùng của chuỗi.
Đặc điểm
back()
không kiểm tra xem chuỗi có rỗng hay không. Gọiback()
trên một chuỗi rỗng là hành vi không xác định, có thể dẫn đến lỗi hoặc chương trình chạy sai. Bạn nên sử dụngempty()
để kiểm tra trước khi gọiback()
.back()
trả về tham chiếu đến ký tự cuối cùng, cho phép thay đổi giá trị của ký tự đó (nếu là phiên bản non-const).back()
được thêm vào từ C++11, vì vậy nó không có sẵn trong các phiên bản C++ cũ hơn.back()
có hai phiên bản:- Phiên bản non-const trả về tham chiếu đến ký tự cuối cùng, cho phép thay đổi giá trị của ký tự đó.
- Phiên bản const trả về tham chiếu hằng đến ký tự cuối cùng, không cho phép thay đổi giá trị.
- Gọi
back()
trên một chuỗi rỗng sẽ dẫn đến hành vi không xác định (undefined behavior). back()
thường được sử dụng để:- Truy cập nhanh đến ký tự cuối cùng của chuỗi.
- Thay đổi giá trị của ký tự cuối cùng trong chuỗi (chỉ với phiên bản non-const).
- Kiểm tra hoặc sử dụng ký tự cuối cùng trong các biểu thức hoặc thuật toán.
Ví dụ
#include <iostream>
#include <string>
int main() {
std::string str = "Hello";
// Lấy ký tự cuối cùng sử dụng back()
char lastChar = str.back(); // lastChar = 'o'
std::cout << "Last character: " << lastChar << std::endl;
// Thay đổi ký tự cuối cùng sử dụng back() (phiên bản non-const)
str.back() = '!';
std::cout << "String after modification: " << str << std::endl;
return 0;
}
Các hàm liên quan
front | Trả về tham chiếu đến ký tự đầu tiên của chuỗi |
push_back | Thêm một ký tự duy nhất vào cuối chuỗi |
pop_back | Xóa ký tự cuối cùng khỏi chuỗi |
at | Truy cập đến ký tự tại một vị trí cụ thể trong chuỗi, có kiểm tra phạm vi |
[] | Truy cập đến ký tự tại một vị trí cụ thể trong chuỗi |