📅  最后修改于: 2023-12-03 15:29:51.537000             🧑  作者: Mango
string.rbegin()
函数是C++中string类的成员函数之一,它可以返回字符串的反向迭代器,即从字符串末尾开始遍历。该函数可以方便地访问字符串的最后一个元素,也可以用它来倒序遍历字符串。
下面是一些使用string.rbegin()
函数的示例:
#include <iostream>
#include <string>
using namespace std;
int main() {
string s = "hello world";
// 递归输出字符串中的所有字符
for (auto it = s.rbegin(); it != s.rend(); it++) {
cout << *it << " ";
}
cout << endl;
// 输出字符串中倒数第二个字符
cout << *(s.rbegin() + 1) << endl;
return 0;
}
在第一个示例中,我们使用string.rbegin()
和string.rend()
来逆序遍历字符串,并输出每个字符。在第二个示例中,我们使用了string.rbegin()
来访问字符串中倒数第二个字符。
需要注意的是,string.rbegin()
返回的是反向迭代器,而不是指向字符的指针。因此如果需要获取指向字符的指针,需要使用&
运算符。
auto it = s.rbegin();
char last_char = *it; // 此处last_char是字符类型
char* last_char_ptr = &(*it); // 此处last_char_ptr是字符指针类型
另外,string.rbegin()
函数返回的迭代器是一种逆向迭代器,因此在使用迭代器算法时需要注意。例如,在获取迭代器的下一个位置时,需要使用it.base() - 1
,而不是it + 1
。
string.rbegin()
函数可以方便地访问字符串的最后一个元素,也可以用它来倒序遍历字符串。需要注意的是,该函数返回的是逆向迭代器,而不是指向字符的指针。在使用迭代器算法时要特别注意。