std::string::push_back
#include <string>
void push_back (charT c);
Thêm (append) một ký tự duy nhất vào cuối chuỗi.
Tham số
c
- Ký tự cần được thêm vào cuối chuỗi.
Giá trị trả về
Không có giá trị trả về
Đặc điểm
push_back()
chỉ có thể thêm một ký tự duy nhất vào cuối chuỗi mỗi lần gọi.push_back()
thay đổi trực tiếp nội dung của chuỗi, không tạo ra một chuỗi mới.- Nếu việc thêm ký tự làm cho kích thước của chuỗi vượt quá dung lượng hiện tại (capacity), std::string sẽ tự động cấp phát lại bộ nhớ để có đủ chỗ chứa. Việc cấp phát lại này có thể làm vô hiệu hóa (invalidate) tất cả các iterator, con trỏ và tham chiếu đến các phần tử của chuỗi.
push_back()
có thể ném ra ngoại lệ std::bad_alloc ếu không thể cấp phát đủ bộ nhớ.push_back()
có độ phức tạp thời gian làO(1)
trong trường hợp trung bình (amortized constant time), nhưng trong trường hợp xấu nhất (khi cần cấp phát lại), độ phức tạp có thể làO(n)
, trong đó n là số ký tự trong chuỗi.push_back()
thường được sử dụng khi:- Bạn muốn thêm từng ký tự một vào cuối chuỗi.
- Bạn đang xây dựng một chuỗi ký tự dần dần từ các ký tự riêng lẻ.
- Bạn muốn mở rộng chuỗi theo từng ký tự.
Ví dụ
#include <iostream>
#include <string>
int main() {
std::string str = "Hello";
str.push_back(' ');
str.push_back('W');
str.push_back('o');
str.push_back('r');
str.push_back('l');
str.push_back('d');
str.push_back('!');
std::cout << "str after push_back: " << 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 |
pop_back | Xóa ký tự cuối cùng khỏi chuỗi |
append | Nối thêm nội dung vào cuối chuỗi hiện tại |
insert | Chèn thêm nội dung (ký tự, chuỗi, hoặc phạm vi) vào bên trong chuỗi tại một vị trí xác định |
end | Trả về một iterator trỏ đến vị trí ngay sau ký tự cuối cùng của chuỗi std::string |