最終更新日時(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

参照