C ++ STL中的multiset value_comp()方法
介绍
STL(Standard Template Library)是C ++程序语言的标准库,其中包含了许多有用的容器。multi-set是其中之一,它是一种关联容器,其元素按关键字排序,没有重复元素。
在multi-set容器中,为了获取元素值的比较关系,我们通常需要使用value_comp()方法。在本篇文章中,我们将探讨如何使用value_comp()方法来比较multiset中的元素。
multiset的value_compare
multi-set容器中的value_comp()方法是用来获取multiset类型对象中元素值的比较关系,如下所示:
const key_compare& value_comp() const;
value_comp()函数返回multiset容器类型中的元素比较函数,即less
下面是一个实例代码,其中我们将使用value_comp()方法来比较multiset中的元素和值。
#include <iostream>
#include <set>
using namespace std;
int main() {
multiset<int> myset{ 3, 11, 8, 27, 3, 8, 5 };
auto mycomp = myset.value_comp();
multiset<int>::iterator it = myset.begin();
int highest = *myset.rbegin();
do {
cout << *it << " ";
} while (mycomp(*it++, highest));
}
代码输出
在执行上面的代码之后,将会得到以下输出:
3 3 5 8 8 11 27
结论
在这篇文章中,我们探讨了C ++STL的multi-set容器中的value_comp()方法。通过比较multiset容器中的元素和值,我们可以使用value_comp()方法来获取multiset容器中元素值的比较关系,并根据这种关系来排序multiset容器类型对象。