std::
multiset::key_comp
公众成员函数 <set>
key_compare key_comp() const;
返回比较对象
返回容器使用的比较对象的副本。
默认情况下,这是一个
less对象,它返回的值与
operator< 相同。
此对象确定容器中元素的顺序:它是一个函数指针或函数对象,接受两个与容器元素类型相同的参数,
如果第一个参数在其定义的严格弱顺序中位于第二个参数之前,则返回
true,否则返回
false。
如果
key_comp反射性返回
false(即,无论元素作为参数传递的顺序如何),则认为
multiset的两个元素是等价的。
在
multiset容器中,对元素排序的键就是值本身,因此
key_comp和它的兄弟成员函数
value_comp是等效的。
☲ 参数
-
none
☉ 返回值
比较对象。
成员类型
key_compare是与容器关联的比较对象的类型,在
set中定义为它的第二个模板形参(
Compare)的别名。
☣ 示例
// multiset::key_comp
#include <iostream>
#include <set>
int main ()
{
std::multiset<int> mymultiset;
for (int i=0; i<5; i++) mymultiset.insert(i);
std::multiset<int>::key_compare mycomp = mymultiset.key_comp();
std::cout << "mymultiset contains:";
int highest = *mymultiset.rbegin();
std::multiset<int>::iterator it = mymultiset.begin();
do {
std::cout << ' ' << *it;
} while ( mycomp(*it++,highest) );
std::cout << '\n';
return 0;
} |
输出:
mymultiset contains: 0 1 2 3 4
✥ 复杂度
常量
☣ 迭代器的有效性
不变.
⇄ 数据竞争
容器被访问。
并发地访问multiset集合的元素是安全的。
☂ 异常安全性
强保证:如果抛出异常,容器中不会有任何变化。
🍄 另请参阅
multiset::value_comp |
返回比较对象(公众成员函数) |
multiset::find |
获取元素迭代器(公众成员函数) |
multiset::count |
具有特定值的元素数量(公众成员函数) |
multiset::lower_bound |
返回迭代器下界(公众成员函数) |
multiset::upper_bound |
返回迭代器上界(公众成员函数) |