📅  最后修改于: 2023-12-03 14:59:37.043000             🧑  作者: Mango
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()
的简单介绍和示例代码,希望能对你有所帮助!