std::basic_string<CharT,Traits,Allocator>::push_back
Материал из cppreference.com
< cpp | string | basic string
void push_back( CharT ch ); | (до C++20) | |
constexprvoid 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 функция-элемент) |