public member function
<string>

std::string::end

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

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

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

如果物件是 空字串,則此函式返回與 string::begin 相同的結果。

引數



返回值

指向字串超出末尾的迭代器。

如果 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版本都不會修改它)。
返回的迭代器可用於訪問或修改字元。 併發訪問或修改不同的字元是安全的。

異常安全

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

另見