std::basic_string<CharT,Traits,Allocator>::clear
Von cppreference.com
< cpp | string | basic string
void clear(); |
(noexcept seit C++11) (constexpr seit C++20) |
|
Entfernt alle Zeichen aus dem String, als ob erase(begin(), end()) ausgeführt worden wäre.
Alle Zeiger, Referenzen und Iteratoren werden ungültig.
Inhalt |
[bearbeiten] Parameter
(keine)
[bearbeiten] Rückgabewert
(keine)
[bearbeiten] Hinweise
Im Gegensatz zu std::vector::clear ist es im C++-Standard nicht ausdrücklich erforderlich, dass capacity durch diese Funktion unverändert bleibt, aber bestehende Implementierungen ändern die Kapazität nicht. Das bedeutet, dass der zugewiesene Speicher nicht freigegeben wird (siehe auch shrink_to_fit).
[bearbeiten] Komplexität
Linear in der Größe des Strings, obwohl bestehende Implementierungen in konstanter Zeit arbeiten.
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#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
[bearbeiten] Siehe auch
| entfernt Zeichen (public member function) |