public member function
<string>

std::string::rend

      reverse_iterator rend();const_reverse_iterator rend() const;
      reverse_iterator rend() noexcept;const_reverse_iterator rend() const noexcept;
返回指向反向末尾的反向迭代器
返回一個反向迭代器,它指向字串第一個字元之前的理論元素(該元素被認為是它的反向末尾)。

string::rbegin 和之間的範圍string::rend包含 string 的所有字元(以相反的順序)。

引數



返回值

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

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

異常安全

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

另見