Namespaces
Variants

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

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

Supprime le dernier caractère de la chaîne.

Équivalent à erase ( end ( ) - 1 ) .

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

(jusqu'à C++26)

Si empty() est true :

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

Table des matières

Complexité

Constante.

Exceptions

Ne lance rien.

Notes

Dans libstdc++, pop_back() n'est pas disponible en mode C++98.

Exemple

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

Sortie :

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

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Applicable à Comportement publié Comportement corrigé
LWG 534 C++98 std::basic_string ne possédait pas la fonction membre pop_back() ajoutée

Voir aussi

ajoute un caractère à la fin
(fonction membre publique)
supprime des caractères
(fonction membre publique)