public member function
<string>

std::string::rbegin

      reverse_iterator rbegin();const_reverse_iterator rbegin() const;
      reverse_iterator rbegin() noexcept;const_reverse_iterator rbegin() const noexcept;
返回指向反向開始位置的反向迭代器
返回一個反向迭代器,它指向字串的最後一個字元(即,它的反向開始位置)。

反向迭代器向後迭代:遞增它們會使它們向字串的開頭移動。

rbegin指向成員 end 將指向的字元之前的字元。

引數



返回值

指向字串反向開始位置的反向迭代器。

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

成員型別reverse_iteratorconst_reverse_iterator是反向隨機訪問迭代器型別(分別指向字元和 const 字元)。

示例

1
2
3
4
5
6
7
8
9
10
11
// string::rbegin/rend
#include <iostream>
#include <string>

int main ()
{
  std::string str ("now step live...");
  for (std::string::reverse_iterator rit=str.rbegin(); rit!=str.rend(); ++rit)
    std::cout << *rit;
  return 0;
}

此程式碼使用在以下位置之間迭代的反向迭代器,按字元逐個字元地打印出字串的反向內容rbeginrend。請注意,即使反向迭代器增加了,迭代也向後透過字串(這是反向迭代器的一個特徵)。
實際輸出是
...evil pets won


複雜度

未指定。

迭代器有效性

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

資料競爭

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

複雜度

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

迭代器有效性

沒有變化。

資料競爭

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

異常安全

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

另見