std::basic_string<CharT,Traits,Allocator>::pop_back
Материал из cppreference.com
< cpp | string | basic string
void pop_back(); |
(до C++20) | |
constexpr void pop_back(); |
(начиная с C++20) | |
Удаляет последний символ из строки.
Эквивалентно erase(end() - 1). Поведение не определено, если строка пуста.
Содержание |
[править] Параметры
(нет)
[править] Возвращаемое значение
(нет)
[править] Сложность
Константная.
[править] Исключения
Ничего не генерирует.
[править] Примечание
В libstdc++, pop_back()
недоступна в режиме C++98.
[править] Пример
Запустить этот код
#include <cassert> #include <iomanip> #include <iostream> #include <string> int main() { std::string str("Short string!"); std::cout << "перед=" << std::quoted(str) << '\n'; assert(str.size() == 13); str.pop_back(); std::cout << "после=" << std::quoted(str) << '\n'; assert(str.size() == 12); str.clear(); // str.pop_back(); // неопределённое поведение }
Вывод:
перед="Short string!" после="Short string"
[править] Отчёты о дефектах
Следующие изменения поведения были применены с обратной силой к ранее опубликованным стандартам C++:
Номер | Применён | Поведение в стандарте | Корректное поведение |
---|---|---|---|
LWG 534 | C++98 | std::basic_string не имеет функцию-элемент pop_back()
|
добавлена |
[править] Смотрите также
добавляет символ в конец (public функция-элемент) | |
удаляет символы (public функция-элемент) |