📜  C++ STL-multimap.operator==()函数(1)

📅  最后修改于: 2023-12-03 15:13:55.878000             🧑  作者: Mango

C++ STL-multimap.operator==()函数介绍

简介

在C++ STL(标准模板库)中,multimap是一个关联容器,使用二叉搜索树来存储一组Key-Value对。multimap容器中的元素是按照键值有序的,且允许多个元素共享同一个键值。其 operator==()函数用于判断两个multimap是否相等。在判断两个multimap相等时,会比较multimap中存储的元素(即键值对)是否完全一致。

语法
bool operator==(const multimap& lhs, const multimap& rhs);
  • lhs:一个multimap容器。
  • rhs:另一个multimap容器。
  • 返回值:如果两个multimap容器中的元素完全一致,则返回true;否则返回false。
示例

下面是一个简单的使用示例,用于说明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。