◐ Shell
clean mode source ↗

std::basic_string<CharT,Traits,Allocator>::push_back — cppreference.com

Материал из 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 не было гарантии безопасности исключений добавлена надёжная гарантия безопасности исключений

Смотрите также