std::string::front
#include <string>
// Phiên bản non-const:
charT& front();
// Phiên bản const:
const charT& front() const;
Trả về tham chiếu đến ký tự đầu tiên 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ự đầu tiên của chuỗi. - Phiên bản const: Tham chiếu hằng (
const charT&
) đến ký tự đầu tiên của chuỗi.
Đặc điểm
front()
không kiểm tra xem chuỗi có rỗng hay không. Gọifront()
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ọifront()
.front()
trả về tham chiếu đến ký tự đầu tiên, cho phép thay đổi giá trị của ký tự đó (nếu là phiên bản non-const).front()
đượ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.front()
có hai phiên bản:- Phiên bản non-const trả về tham chiếu đến ký tự đầu tiên, 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ự đầu tiên, không cho phép thay đổi giá trị.
- Gọi
front()
trên một chuỗi rỗng sẽ dẫn đến hành vi không xác định (undefined behavior). front()
thường được sử dụng để:- Truy cập nhanh đến ký tự đầu tiên của chuỗi.
- Thay đổi giá trị của ký tự đầu tiên trong chuỗi (chỉ với phiên bản non-const).
- Kiểm tra hoặc sử dụng ký tự đầu tiên 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, world!";
// Lấy ký tự đầu tiên sử dụng front()
char firstChar = str.front(); // firstChar = 'H'
std::cout << "First character: " << firstChar << std::endl;
// Thay đổi ký tự đầu tiên sử dụng front() (phiên bản non-const)
str.front() = 'h';
std::cout << "String after modification: " << str << std::endl;
return 0;
}
Các hàm liên quan
back | Trả về tham chiếu đến ký tự cuối cùng của 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 |