Spec-Zone.ru › C++

std::basic_string<CharT,Traits,Allocator>::pop_back

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 << "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() добавлен

См. также

push_back
добавляет символ в конец
(публичный член-функция)
erase
удаляет символы
(публичный член-функция)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/string/basic_string/pop_back

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API