std::basic_string<CharT,Traits,Allocator>::clear
ja.cppreference.net より
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
関連項目
|
文字を削除する
(公開メンバ関数) |