std::basic_string<CharT,Traits,Allocator>::push_back
Материал из cppreference.com
< cpp | string | basic string
void push_back( CharT ch ); |
(до C++20) | |
constexpr void push_back( CharT ch ); |
(начиная с C++20) | |
Добавляет заданный символ ch в конец строки.
Содержание |
[править] Параметры
ch | — | символ для добавления |
[править] Возвращаемое значение
(нет)
[править] Сложность
Амортизированная константая.
[править] Исключения
Если операция приведёт к size
() >
max_size
(), генерирует std::length_error.
Если по какой-либо причине генерируется исключение, эта функция не имеет эффекта (строгая гарантия безопасности исключений).
[править] Пример
Запустить этот код
#include <iomanip> #include <iostream> #include <string> int main() { std::string str{"Короткая строка"}; std::cout << "1) " << std::quoted(str) << ", размер: " << str.size() << '\n'; str.push_back('!'); std::cout << "2) " << std::quoted(str) << ", размер: " << str.size() << '\n'; }
Вывод:
1) "Короткая строка", размер: 29 2) "Короткая строка!", размер: 30
[править] Отчёты о дефектах
Следующие изменения поведения были применены с обратной силой к ранее опубликованным стандартам C++:
Номер | Применён | Поведение в стандарте | Корректное поведение |
---|---|---|---|
LWG 7 | C++98 | (1) описание отсутствовало в стандарте C++ (2) тип параметра был const CharT |
(1) описание добавлено (2) изменён на CharT
|
LWG 847 | C++98 | не было гарантии безопасности исключений | добавлена надёжная гарантия безопасности исключений |
[править] Смотрите также
(DR*) |
удаляет последний символ (public функция-элемент) |