Namespaces
Variants

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

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

Supprime tous les caractères de la chaîne comme si on exécutait erase ( begin ( ) , end ( ) ) .

Tous les pointeurs, références et itérateurs sont invalidés.

Table des matières

Paramètres

(aucun)

Valeur de retour

(aucun)

Notes

Contrairement à std::vector::clear , la norme C++ n'exige pas explicitement que la capacity soit inchangée par cette fonction, mais les implémentations existantes ne modifient pas la capacité. Cela signifie qu'elles ne libèrent pas la mémoire allouée (voir également shrink_to_fit ).

Complexité

Linéaire dans la taille de la chaîne, bien que les implémentations existantes fonctionnent en temps constant.

Exemple

#include <cassert>
#include <iostream>
#include <string>
int main()
{
    std::string s{"Exemplar"};
    std::string::size_type const capacity = s.capacity();
    s.clear();
    assert(s.empty());
    assert(s.size() == 0);
    std::cout << std::boolalpha << (s.capacity() == capacity) << '\n';
}

Sortie possible :

true

Voir aussi

supprime des caractères
(fonction membre publique)