📅  最后修改于: 2023-12-03 14:59:46.006000             🧑  作者: Mango
crend()
函数是C++ STL 中的反向迭代器函数,它返回一个指向容器最后一个元素的逆迭代器,逆迭代器指向容器的末尾元素前面的一个位置,这样可以对容器进行反向遍历。
crend()
函数只能用于容器,并且只适用于 const 容器,即只能用于不可变的容器。
在 std::multiset
中, crend()
函数返回 std::multiset
容器的末尾位置的逆迭代器。
以下是关于 crend()
函数的详细介绍:
crend()
函数的语法如下:
const_reverse_iterator multiset::crend() const noexcept;
其中,const_reverse_iterator
是 std::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 中的作用。