public member function
<string>

std::basic_string::rbegin

      reverse_iterator rbegin();const_reverse_iterator rbegin() const;
      reverse_iterator rbegin() noexcept;const_reverse_iterator rbegin() const noexcept;
返回指向反向开始位置的反向迭代器
返回一个反向迭代器,指向字符串的最后一个字符 (即,它的反向起始)。

反向迭代器 向后迭代:增加它们会使它们向字符串的开头移动。

rbegin指向成员 end 将指向的字符之前的那个字符。

参数



返回值

指向字符串反向起始的反向迭代器。

如果 basic_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 版本都不会修改它)。
返回的迭代器可用于访问或修改字符。并发访问或修改不同的字符是安全的。

异常安全

无异常保证:此成员函数从不抛出异常。
还可以保证返回的迭代器的复制构造或赋值永远不会引发异常。

另见