C++ STL中的multimap value_comp()函数

C++ STL中的multimap value_comp()函数

multimap::value_comp() 方法返回一个比较对象,可用于比较两个元素以得到第一个键是否在第二个键之前。此处第一个对象比较类型为 std::multimap::type 。此函数对象所取的参数是成员类型 type 。它在 multimap 中定义为 pair 的别名。

语法:

multimap::compared_value value_comp() const;

在这里, compared_value 是嵌套类类型。

参数: 不接受任何参数。

返回值: 此方法返回 comparison object ,它是成员类型 multimap::compared_value的对象,它是一个使用内部比较对象生成适当比较功能类的嵌套类。下面的程序说明了multimap value_comp()函数:

// C++程序展示了
// multimap::value_comp的用法
#include <iostream>
#include <map>
using namespace std;

int main()
{
    multimap<char, int> m;

    // 产生一个数组
    m.insert(make_pair('a', 10));
    m.insert(make_pair('b', 20));
    m.insert(make_pair('c', 30));
    m.insert(make_pair('d', 40));

    pair<char, int> p = *m.rbegin(); 
    // 最后一个元素

    multimap<char, int>::iterator i = m.begin();

    do {

        cout << (*i).first
            << " = " << (*i).second
            << '\n';

    } while (m.value_comp()(*i++, p));

    return 0;
}  

输出:

a = 10
b = 20
c = 30
d = 40

时间复杂度: O(1)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程