Namespaces
Variants

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

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

Elimina el último carácter de la cadena.

Equivalente a erase ( end ( ) - 1 ) .

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)

Contenidos

Complejidad

Constante.

Excepciones

No lanza nada.

Notas

En libstdc++, pop_back() está no disponible en modo C++98.

Ejemplo

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

Salida:

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

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares publicados anteriormente de C++.

DR Se aplica a Comportamiento publicado Comportamiento correcto
LWG 534 C++98 std::basic_string no tenía la función miembro pop_back() añadida

Véase también

añade un carácter al final
(función miembro pública)
elimina caracteres
(función miembro pública)