📅  最后修改于: 2023-12-03 15:13:55.878000             🧑  作者: Mango
在C++ STL(标准模板库)中,multimap是一个关联容器,使用二叉搜索树来存储一组Key-Value对。multimap容器中的元素是按照键值有序的,且允许多个元素共享同一个键值。其 operator==()函数用于判断两个multimap是否相等。在判断两个multimap相等时,会比较multimap中存储的元素(即键值对)是否完全一致。
bool operator==(const multimap& lhs, const multimap& rhs);
下面是一个简单的使用示例,用于说明multimap.operator==()函数的用法:
#include <iostream>
#include <map>
using namespace std;
int main()
{
multimap<string, int> mmap1;
mmap1.insert({"张三", 20});
mmap1.insert({"李四", 23});
mmap1.insert({"王五", 22});
multimap<string, int> mmap2;
mmap2.insert({"张三", 20});
mmap2.insert({"李四", 23});
mmap2.insert({"王五", 22});
multimap<string, int> mmap3;
mmap3.insert({"张三", 20});
mmap3.insert({"李四", 23});
mmap3.insert({"赵六", 21});
bool result;
result = (mmap1 == mmap2);
cout << "mmap1 == mmap2:" << result << endl;
result = (mmap1 == mmap3);
cout << "mmap1 == mmap3:" << result << endl;
return 0;
}
上述示例定义了三个multimap容器 mmap1、mmap2 和 mmap3,分别用于存储不同的元素。其中,mmap1 和 mmap2 存储的元素完全一致,而 mmap3 则与其不同。在程序中,我们使用 multimap.operator==()函数来判断这三个multimap是否相等,然后输出结果。
输出结果如下所示:
mmap1 == mmap2:1
mmap1 == mmap3:0
可以看到,在判断 mmap1 和 mmap2 的相等性时,返回了true;而在判断 mmap1 和 mmap3 的相等性时,返回了false。
multimap.operator==()函数是用于判断两个multimap容器是否相等的函数。在进行比较时,会比较multimap中存储的元素是否完全一致。需要注意的是,如果两个multimap容器中元素的顺序不同,但元素本身是完全一致的情况下,也会返回false。