📅  最后修改于: 2023-12-03 14:39:51.623000             🧑  作者: Mango
在 C++ STL 中,Set 类是一种基于红黑树实现的容器,其中每个元素的值都是唯一的。Set 类提供了 crend() 函数,用于返回一个指向 Set 类相对于最后一个元素的逆向迭代器。
Set 类的 crend() 函数定义如下:
const_reverse_iterator Set_Type::crend() const noexcept;
因为这是一个成员函数,所有 Set_Type 表示实际的 Set 类型。此函数返回一个 const_reverse_iterator 类型的迭代器对象。可以使用该迭代器对象按相反的顺序迭代 Set 容器。
crend() 函数没有任何参数。
crend() 函数返回 const_reverse_iterator 类型的迭代器对象,它指向 Set 容器的第一个元素的前面一个位置。
如果 Set 容器为空,则 crend() 返回一个与 cbegin() 相同的迭代器。
下面的示例演示了如何使用 Set 类的 crend() 函数迭代遍历 Set 容器的元素。
#include <iostream>
#include <set>
int main()
{
std::set<int> numbers;
numbers.insert(1);
numbers.insert(3);
numbers.insert(5);
numbers.insert(7);
// 循环遍历 Set 容器的每个元素
std::cout << "从前往后遍历 Set 容器的每个元素:" << std::endl;
for (auto it = numbers.begin(); it != numbers.end(); ++it)
{
std::cout << *it << std::endl;
}
std::cout << "从后往前遍历 Set 容器的每个元素:" << std::endl;
for (auto rit = numbers.crbegin(); rit != numbers.crend(); ++rit)
{
std::cout << *rit << std::endl;
}
return 0;
}
运行上面的示例会输出以下内容:
从前往后遍历 Set 容器的每个元素:
1
3
5
7
从后往前遍历 Set 容器的每个元素:
7
5
3
1
在 C++ STL 中,Set 类提供了 crend() 函数,用于返回一个反向迭代器,该迭代器指向 Set 容器的第一个元素的前面一个位置。可以使用该迭代器对象按相反的顺序迭代 Set 容器。