📜  C++ string.rbegin()函数(1)

📅  最后修改于: 2023-12-03 15:29:51.537000             🧑  作者: Mango

C++ string.rbegin()函数

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()函数可以方便地访问字符串的最后一个元素,也可以用它来倒序遍历字符串。需要注意的是,该函数返回的是逆向迭代器,而不是指向字符的指针。在使用迭代器算法时要特别注意。