Namespaces
Variants

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

From cppreference.net

void pop_back ( ) ;
(constexpr desde C++20)

Elimina el último elemento del contenedor.

Si empty() es true , el comportamiento es indefinido.

(hasta C++26)

Si empty() es true :

  • Si la implementación está hardened , ocurre una contract violation . Además, si el manejador de violación de contrato retorna bajo semántica de evaluación "observe", el comportamiento es indefinido.
  • Si la implementación no está hardened, el comportamiento es indefinido.
(desde C++26)

Los iteradores y referencias al último elemento se invalidan. El end() iterador también se invalida.

Complejidad

Constante.

Ejemplo

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

Salida:

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

Véase también

agrega un elemento al final
(función miembro pública)