public member function
<string>

std::basic_string::end

      iterator end();const_iterator end() const;
      iterator end() noexcept;const_iterator end() const noexcept;
返回指向末尾的迭代器
返回一個指向字串末尾後字元的迭代器。

末尾後 字元是一個理論上的字元,它將跟隨字串中的最後一個字元。 它不應被解引用。

由於標準庫函式使用的範圍不包括其結束迭代器指向的元素,因此該函式通常與basic_string::begin結合使用,以指定一個包含字串中所有字元的範圍。

如果物件是一個空字串,則此函式返回的值與basic_string::begin相同。

引數



返回值

指向字串末尾後的迭代器。

如果 basic_string 物件是常量限定的,則該函式返回const_iterator。否則,它返回一個iterator.

成員型別iteratorconst_iterator隨機訪問迭代器 型別(分別指向字元和常量字元)。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
// string::begin/end
#include <iostream>
#include <string>

int main ()
{
  std::string str ("Test string");
  for ( std::string::iterator it=str.begin(); it!=str.end(); ++it)
    std::cout << *it;
  std::cout << '\n';

  return 0;
}

輸出
Test string


複雜度

未指定。

迭代器有效性

通常,沒有變化。
在某些實現中,非 const 版本可能會使物件構造或修改後首次訪問字串字元的所有迭代器、指標和引用都無效。

資料競爭

訪問該物件,並且在某些實現中,非 const 版本會在物件構造或修改後首次訪問字串字元時修改它。
返回的迭代器可用於訪問或修改字元。

複雜度

未指定,但通常是恆定的。

迭代器有效性

沒有變化。

資料競爭

訪問該物件(const 版本和非 const 版本都不會修改它)。
返回的迭代器可用於訪問或修改字元。併發訪問或修改不同的字元是安全的。

異常安全

無異常保證:此成員函式從不丟擲異常。
還可以保證返回的迭代器的複製構造或賦值永遠不會引發異常。

另見