std::basic_string<CharT,Traits,Allocator>:: clear
| Classes | ||||
|
(C++17)
|
||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
void
clear
(
)
;
|
(noexcept seit C++11)
(constexpr seit C++20) |
|
Entfernt alle Zeichen aus der Zeichenkette, als ob durch Ausführung von erase ( begin ( ) , end ( ) ) .
Alle Zeiger, Referenzen und Iteratoren werden ungültig.
Inhaltsverzeichnis |
Parameter
(keine)
Rückgabewert
(keine)
Hinweise
Im Gegensatz zu std::vector::clear verlangt der C++-Standard nicht explizit, dass die capacity durch diese Funktion unverändert bleibt, aber bestehende Implementierungen ändern die Kapazität nicht. Das bedeutet, dass sie den allokierten Speicher nicht freigeben (siehe auch shrink_to_fit ).
Komplexität
Linear in der Größe der Zeichenkette, obwohl bestehende Implementierungen in konstanter Zeit arbeiten.
Beispiel
#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'; }
Mögliche Ausgabe:
true
Siehe auch
|
Zeichen entfernen
(öffentliche Elementfunktion) |