Namespaces
Variants

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

From cppreference.net

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

Supprime le dernier élément du conteneur.

Si empty() est true , le comportement est indéfini.

(jusqu'à C++26)

Si empty() est true :

  • Si l'implémentation est hardened , une contract violation se produit. De plus, si le gestionnaire de violation de contrat retourne sous la sémantique d'évaluation "observe", le comportement est indéfini.
  • Si l'implémentation n'est pas hardened, le comportement est indéfini.
(depuis C++26)

Les itérateurs et les références vers le dernier élément sont invalidés. L'itérateur end() est également invalidé.

Complexité

Constante.

Exemple

#include <deque>
#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::deque<int> numbers{1, 2, 3};
    stq::println("{}", numbers);
    while (not numbers.empty())
    {
        numbers.pop_back();
        stq::println("{}", numbers);
    }
}

Sortie :

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

Voir aussi

supprime le premier élément
(fonction membre publique)
ajoute un élément à la fin
(fonction membre publique)