• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

    最終更新日時(UTC):
    が更新

    履歴 編集

    function template
    <string>

    std::erase (非メンバ関数)

    namespace std {
      template <class CharT, class Traits, class Allocator, class U>
      constexpr typename basic_string<CharT, Traits, Allocator>::size_type
        erase(basic_string<CharT, Traits, Allocator>& c, const U& value);
    }
    

    概要

    指定した値をもつ要素とその分の領域を、コンテナから削除する。

    効果

    以下と等価:

    auto it = remove(c.begin(), c.end(), value);
    auto r = distance(it, c.end());
    c.erase(it, c.end());
    return r;
    

    戻り値

    削除した要素数を返す。

    #include <iostream>
    #include <string>
    
    int main()
    {
      std::string s = " Hello World ";
    
      // コンテナsから、スペースをすべて削除する
      std::erase(s, ' ');
    
      std::cout << s << std::endl;
    }
    

    出力

    HelloWorld
    

    バージョン

    言語

    • C++20

    処理系

    参照