📅  最后修改于: 2023-12-03 14:59:50.017000             🧑  作者: Mango
在 C++ 标准库中,std::string
是一个非常重要的类,用于表示字符串。std::string::crbegin()
和 std::string::crend()
是该类的两个成员,用于返回指向字符串最后一个字符的反向迭代器和反向结束迭代器。本文将介绍这两个函数以及它们的用法。
std::string::crbegin()
std::string::crbegin()
返回一个反向迭代器,可以用于遍历字符串的最后一个字符到第一个字符(即反向遍历)。以下是函数的声明和用法示例:
std::reverse_iterator<std::string::const_iterator> crbegin() const noexcept;
示例:
#include <iostream>
#include <string>
int main() {
std::string str = "hello";
for (auto it = str.crbegin(); it != str.crend(); ++it) {
std::cout << *it;
}
return 0;
}
输出:
olleh
std::string::crend()
std::string::crend()
返回一个反向结束迭代器,可以用于表示反向遍历的结束点,通常用于与反向迭代器一起使用。以下是函数的声明和用法示例:
std::reverse_iterator<std::string::const_iterator> crend() const noexcept;
示例:
#include <iostream>
#include <string>
int main() {
std::string str = "hello";
for (auto it = str.crbegin(); it != str.crend(); ++it) {
std::cout << *it;
}
std::cout << '\n';
return 0;
}
输出:
olleh
std::string::crbegin()
和 std::string::crend()
是用于反向遍历字符串的两个成员函数。它们都返回反向迭代器,在遍历时可以使用 std::string::crend()
表示结束点。这些函数可以使代码更简洁、更优雅,并且在一些特定的场景下会非常有用。