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

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

C++ 中的 std::string::crbegin() 和 std::string::crend()

在 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() 表示结束点。这些函数可以使代码更简洁、更优雅,并且在一些特定的场景下会非常有用。