• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

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

    履歴 編集

    function
    <string>

    std::basic_string::end

    iterator end();                      // (1) C++03
    iterator end() noexcept;             // (1) C++11
    constexpr iterator end() noexcept;   // (1) C++20
    
    const_iterator end() const;                    // (2) C++03
    const_iterator end() const noexcept;           // (2) C++11
    constexpr const_iterator end() const noexcept; // (2) C++20
    

    概要

    末尾の次を指すイテレータを取得する。

    戻り値

    末尾の次を指すイテレータ

    例外

    投げない

    備考

    • basic_stringクラスのイテレータ範囲は、ヌル文字('\0')終端ではない
    • この関数によって返されるイテレータは、*thisが保持するいずれの要素も参照しない。その指す先は、不正な範囲となるだろう

    #include <iostream>
    #include <string>
    #include <algorithm>
    
    int main()
    {
      std::string s = "hello";
      s.insert(s.begin() + 2, '\0');
    
      // 文字列オブジェクトsに含まれる、ヌル文字を除く全ての要素を出力
      std::for_each(s.begin(), s.end(), [](char c) {
        if (c != '\0')
          std::cout << c << std::endl;
      });
    }
    

    出力

    h
    e
    l
    l
    o
    

    参照