📅  最后修改于: 2023-12-03 15:29:50.465000             🧑  作者: Mango
multimap
是一种关联容器,它有序存储一组键/值对。
operator<()
是 multimap
中重载小于运算符的函数,它用于比较两个键的大小。
bool operator<(const Key &k1, const Key &k2);
k1
:第一个要比较的键。k2
:第二个要比较的键。k1
在字典顺序上小于 k2
,则返回 true
。false
。multimap
时,键必须支持小于运算符 operator<()
,否则会编译错误。multimap
中,则它们将按插入顺序存储在容器中。#include <iostream>
#include <map>
int main()
{
std::multimap<int, char> mymap;
mymap.insert(std::pair<int, char>(1, 'a'));
mymap.insert(std::pair<int, char>(2, 'b'));
mymap.insert(std::pair<int, char>(2, 'c'));
for (auto it = mymap.begin(); it != mymap.end(); ++it)
{
std::cout << it->first << " => " << it->second << std::endl;
}
return 0;
}
输出:
1 => a
2 => b
2 => c
在示例中,我们使用 multimap
存储一些键值对。当 multimap
存储具有相同键值的两个元素时,它们会按照插入顺序依次出现在容器中。因此,上面的输出会显示两个键值为 2 的元素。
multimap.operator<()
是用于比较 multimap
中两个键的函数。为了使用 multimap
存储键值对,键必须支持小于运算符 operator<()
。它也是 multimap
存储具有相同键值的元素时,它们按插入顺序存储的原因之一。