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

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

C++ STL-Multiset.crend()函数

crend()函数是C++ STL 中的反向迭代器函数,它返回一个指向容器最后一个元素的逆迭代器,逆迭代器指向容器的末尾元素前面的一个位置,这样可以对容器进行反向遍历。

crend() 函数只能用于容器,并且只适用于 const 容器,即只能用于不可变的容器。

std::multiset 中, crend() 函数返回 std::multiset 容器的末尾位置的逆迭代器。

以下是关于 crend() 函数的详细介绍:

语法

crend() 函数的语法如下:

const_reverse_iterator multiset::crend() const noexcept;

其中,const_reverse_iteratorstd::multiset 的常量迭代器,noexcept 关键字指示 crend() 函数没有任何异常抛出。

参数

crend() 函数不接受任何参数。

返回值

crend() 函数返回一个指向 std::multiset 容器的最后一个元素的逆迭代器。

实例

以下示例演示了如何使用 crend() 函数对 std::multiset 进行反向遍历:

#include <iostream>
#include <set>

int main() {
    std::multiset<int> myset = { 1, 2, 3, 2, 4, 3, 5 };

    // 遍历 multiset 容器,输出所有元素
    std::cout << "Multiset contains:";
    for (auto it = myset.begin(); it != myset.end(); ++it) {
        std::cout << ' ' << *it;
    }

    // 输出反向遍历 multiset 容器中的元素
    std::cout << "\nMultiset contains (in reverse order):";
    for (auto it = myset.crbegin(); it != myset.crend(); ++it) {
        std::cout << ' ' << *it;
    }

    return 0;
}

输出:

Multiset contains: 1 2 2 3 3 4 5
Multiset contains (in reverse order): 5 4 3 3 2 2 1

在上述示例中,我们首先使用 begin()end() 函数遍历 myset 中的所有元素,然后使用 crbegin()crend() 函数反向遍历 myset 中的所有元素并输出它们。

这就是 crend() 函数在 C++ STL 中的作用。