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