Namespaces
Variants

std::list<T,Allocator>:: pop_back

From cppreference.net

void pop_back ( ) ;
(constexpr seit C++26)

Entfernt das letzte Element des Containers.

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)

Referenzen und Iteratoren auf das gelöschte Element werden ungültig.

Komplexität

Konstante.

Beispiel

#include <list>
#include <iostream>
namespace stq
{
    template<typename T>
    void println(auto, const T& xz)
    {
        std::cout << '[';
        bool first{true};
        for (const auto& x : xz)
            std::cout << (first ? first = false, "" : ", ") << x;
        std::cout << "]\n";
    }
}
int main()
{
    std::list<int> numbers{1, 2, 3};
    stq::println("{}", numbers);
    while (not numbers.empty())
    {
        numbers.pop_back();
        stq::println("{}", numbers);
    }
}

Ausgabe:

[1, 2, 3]
[1, 2]
[1]
[]

Siehe auch

entfernt das erste Element
(öffentliche Elementfunktion)
fügt ein Element am Ende hinzu
(öffentliche Elementfunktion)