名前空間
変種
操作

std::basic_string<CharT,Traits,Allocator>::clear

From cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::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) [編集]
English 日本語 中文(简体) 中文(繁體)