名前空間
変種
操作

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

提供: cppreference.com
< cpp‎ | string‎ | basic string
2019年3月29日 (金) 07:26時点におけるMilkpot (トーク | 投稿記録)による版

 
 
 
std::basic_string
 
void clear();
(C++11未満)
void clear() noexcept;
(C++11以上)

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]