std::basic_string<CharT,Traits,Allocator>:: clear
| Classes | ||||
|
(C++17)
|
||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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
関連項目
|
文字を削除する
(公開メンバ関数) |