std::basic_string<CharT,Traits,Allocator>::push_back
Материал из cppreference.com
<tbody>
</tbody>
<tbody class="t-dcl-rev ">
</tbody><tbody>
</tbody>
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 функция-элемент) |