Namespaces
Variants

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

Von de.cppreference.net
 
 
 
std::basic_string
 
void pop_back();
(constexpr seit C++20)

Entfernt das letzte Zeichen aus der Zeichenkette.

Äquivalent zu erase(end() - 1).

Falls empty() trueist, ist das Verhalten undefiniert.

(bis C++26)

Falls empty() trueist:

  • Falls die Implementierung gehärtet ist, tritt eine Vertragsverletzung auf.
  • Falls die Implementierung nicht gehärtet ist, ist das Verhalten undefiniert.
(seit C++26)

Komplexität

Konstante.

Exceptions

Wirft nichts.

Hinweise

In libstdc++, pop_back() ist nicht verfügbar im C++98-Modus.

Beispiel

#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
}

Ausgabe:

Before: "Short string!"
After:  "Short string"

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrektes Verhalten
LWG 534 C++98 std::basic_string hatte die Memberfunktion pop_back() nicht hinzugefügt

Siehe auch

hängt ein Zeichen am Ende an
(öffentliche Elementfunktion)
entfernt Zeichen
(öffentliche Elementfunktion)