📜  C ++中带有示例的std :: 字符串:: crbegin()和std :: 字符串:: crend()(1)

📅  最后修改于: 2023-12-03 14:59:37.043000             🧑  作者: Mango

C++中带有示例的 std::string::crbegin()std::string::crend()

std::string::crbegin()std::string::crend() 是 C++ 标准库中提供的两个成员函数,用于遍历 std::string 类型的字符串的字符。这两个函数的返回值都是反向迭代器,分别指向字符串的最后一个字符和比最后一个字符还要早的位置。crbegin() 返回一个常量反向迭代器,可以用于只读访问字符串的字符,crend() 也返回一个常量迭代器,指向字符串的起始位置或比起始位置更早的位置。

示例代码

下面是使用 std::string::crbegin()std::string::crend() 的示例代码:

#include <iostream>
#include <string>

int main() {
    std::string str = "Hello, World!";

    // 使用 crbegin() 和 crend() 遍历字符串
    for (auto it = str.crbegin(); it != str.crend(); ++it) {
        std::cout << *it;
    }
    std::cout << std::endl;

    return 0;
}

上述代码中,我们定义了一个 std::string 类型的变量 str,并初始化为 "Hello, World!"。然后,我们使用 crbegin()crend() 遍历字符串,并通过反向迭代器逆序输出字符串中的字符。最终输出结果为 !dlroW ,olleH

解释
  • std::string::crbegin() 返回一个常量反向迭代器,指向字符串的最后一个字符。
  • std::string::crend() 返回一个常量迭代器,指向字符串的起始位置或比起始位置更早的位置。

在示例代码中,我们使用 crbegin()crend() 遍历字符串 str。由于 crbegin() 返回的是一个常量反向迭代器,因此我们无法通过迭代器修改字符串中的字符。通过遍历这些迭代器,我们可以逆序访问字符串的字符。

运行结果

运行示例代码,将输出:

!dlroW ,olleH

注意,由于 crbegin()crend() 返回的是迭代器,我们需要使用 *it 来获取迭代器指向的字符。

以上是关于 std::string::crbegin()std::string::crend() 的简单介绍和示例代码,希望能对你有所帮助!