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

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

  1. back() không kiểm tra xem chuỗi có rỗng hay không. Gọi back() 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ụng empty() để kiểm tra trước khi gọi back().
  2. 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).
  3. 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.
  4. 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ị.
  5. 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).
  6. 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

frontTrả về tham chiếu đến ký tự đầu tiên của chuỗi
push_backThêm một ký tự duy nhất vào cuối chuỗi
pop_backXóa ký tự cuối cùng khỏi chuỗi
atTruy 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