📅  最后修改于: 2023-12-03 14:39:51.365000             🧑  作者: Mango
C++ STL中的multimap
容器是一个关联容器,其中的元素按照键值对存储,并且允许键值重复。multimap
容器的成员函数operator<=()
用于比较两个multimap
容器的大小关系。
bool operator<=(const multimap<Key, T, Compare, Allocator>& lhs, const multimap<Key, T, Compare, Allocator>& rhs);
lhs
:一个multimap
容器rhs
:另一个multimap
容器如果lhs
中的所有键值对在字典序中小于或等于rhs
中的所有键值对,则返回true
,否则返回false
。
#include <iostream>
#include <map>
int main() {
std::multimap<int, std::string> map1;
map1.insert(std::make_pair(1, "one"));
map1.insert(std::make_pair(2, "two"));
map1.insert(std::make_pair(2, "second"));
map1.insert(std::make_pair(3, "three"));
std::multimap<int, std::string> map2;
map2.insert(std::make_pair(1, "one"));
map2.insert(std::make_pair(2, "two"));
map2.insert(std::make_pair(3, "third"));
if (map1 <= map2) {
std::cout << "map1 is less than or equal to map2" << std::endl;
} else {
std::cout << "map1 is greater than map2" << std::endl;
}
return 0;
}
输出:
map1 is less than or equal to map2
示例代码中,我们创建了两个multimap
容器map1
和map2
。map1
包含了一些键值对,而map2
则包含更多不同的键值对。通过使用operator<=()
函数,我们比较了两个容器,发现map1
中的所有键值对在字典序中都小于或等于map2
中的键值对,因此返回true
。
multimap
容器的键值对是按照键的值进行排序存储的,默认情况下使用std::less
作为比较函数对象。所以在进行比较时,实际上是比较键的值。以上就是关于C++ STL中multimap.operator<=()
函数的介绍。