名前空間
変種
操作

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

提供: cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
 
void clear();
(C++11未満)
void clear() noexcept;
(C++11以上)
(C++20未満)
constexpr void clear() noexcept;
(C++20以上)

erase(begin(), end()) を実行したかのように、文字列からすべての文字を削除します。

すべてのポインタ、参照、イテレータは無効化されます。

目次

[編集] 引数

(なし)

[編集] 戻り値

(なし)

[編集] ノート

std::vector::clear と異なり、 C++ 標準はこの関数によって capacity が変更されないことを明示的に要求していませんが、既存の実装は capacity を変更しません。 これは確保されているメモリは解放されないという意味です (shrink_to_fit も参照してください)。

[編集] 計算量

文字列のサイズに比例。 しかし既存の実装は定数時間で処理します。

[編集]

#include <cassert>
#include <string>
 
int main()
{
    std::string s{ "Exemplar" };
    std::string::size_type const capacity = s.capacity();
 
    s.clear();
    assert(s.capacity() == capacity);
    assert(s.empty());
    assert(s.size() == 0);
}


[編集] 関連項目

文字を削除します
(パブリックメンバ関数) [edit]