Namespaces
Variants

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

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

Entfernt das letzte Zeichen aus der Zeichenkette.

Entspricht erase ( end ( ) - 1 ) .

Wenn empty() true ist, ist das Verhalten undefiniert.

(bis C++26)

Wenn empty() true ist:

  • Wenn die Implementierung gehärtet ist, tritt eine Vertragsverletzung auf. Wenn der Vertragsverletzungs-Handler unter "Observe"-Auswertungssemantik zurückkehrt, ist das Verhalten undefiniert.
  • Wenn die Implementierung nicht gehärtet ist, ist das Verhalten undefiniert.
(seit C++26)

Inhaltsverzeichnis

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)