📅  最后修改于: 2023-12-03 15:13:57.514000             🧑  作者: Mango
crend()
函数是C++ STL(Standard Template Library)中string
类的一个公共成员函数。该函数返回一个只读(const
)的反向迭代器,用于表示指向string
中最后一位字符的后面一位位置的迭代器。与crbegin()
函数类似,crend()
函数通常与本地的成员函数或STL算法结合使用,以从右向左迭代字符串。
crend()
函数不接受任何参数,因此使用时应注意类型匹配。
crend()
函数的返回值是一个只读(const
)的反向迭代器,该迭代器指向string
中最后一位字符的后面一位位置。因为它是个const
迭代器,所以它只能用于读取string
中已有的元素,不能用于修改它们。
下面是一个使用crend()
函数的示例程序:
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, World!";
// 使用 const_reverse_iterator 对 string 从右向左迭代
for (auto rit = str.crbegin(); rit != str.crend(); ++rit) {
std::cout << *rit;
}
return 0;
}
运行上述程序,输出将是:
!dlroW ,olleH
从示例程序可以看出,crbegin()
函数和crend()
函数可以让我们从右向左遍历一个string
对象,这在某些情况下非常有用。
crend()
函数只能用于读取string
中已有的元素,不能用于修改它们。crend()
函数返回的迭代器指向string
中最后一位字符的后面一位位置,因此对其的解引用是未定义的行为。string
对象是空的,那么crbegin()
和crend()
函数将返回同一个迭代器(即空迭代器)。因此,在循环中使用它们时,应该先判断string
是否为空。crend()
函数是string
类的一个公共成员函数,因此无需引入其他头文件即可使用。