std::basic_string<CharT,Traits,Allocator>::clear
From cppreference.com
< cpp | string | basic string
void clear(); |
(C++11 以降 noexcept) (C++20 以降 constexpr) |
|
文字列からすべての文字を削除します。これは、erase(begin(), end()) を実行するのと同じです。
すべてのポインタ、参照、およびイテレータは無効になります。
目次 |
[編集] パラメータ
(なし)
[編集] 戻り値
(なし)
[編集] 注記
std::vector::clear とは異なり、C++ 標準ではこの関数によって capacity が変更されることは明示的に要求されていませんが、既存の実装では capacity は変更されません。これは、割り当てられたメモリが解放されないことを意味します(shrink_to_fit も参照)。
[編集] 計算量
文字列のサイズに対して線形ですが、既存の実装では定数時間で動作します。
[編集] 例
このコードを実行
#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'; }
実行結果の例
true
[編集] 関連項目
| 文字を削除する (public member function) |