📜  C++ STL-Set.crend()函数(1)

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

C++ STL Set 类 crend() 函数介绍

在 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 容器。