Namespaces
Variants

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

Depuis fr.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 erase(begin(), end()) était exécuté.

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

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)