C++ multimap::operator==() 函数



C++ 的 std::multimap::operator==() 函数用于比较两个 multimap 是否相等。如果两个 multimap 具有相同数量的元素,并且每个对应的元素对都相等,则认为它们相等。它迭代遍历两个 multimap,按顺序检查键值对。如果所有对都匹配,则函数返回 true,否则返回 false。此函数的时间复杂度为线性,即 O(n)。

语法

以下是 std::multimap::operator==() 函数的语法。

bool operator==( const std::multimap<Key, T, Compare, Alloc>& lhs, const std::multimap<Key, T, Compare, Alloc>& rhs );

参数

  • lhs − 指示第一个 multimap 对象。
  • rhs − 指示第二个 multimap 对象。

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

返回值

如果两个 multimap 相等,则此函数返回 true,否则返回 false。

示例

让我们来看下面的例子,我们将演示 operator==() 函数的使用。

Open Compiler
#include <iostream> #include <map> int main() { std::multimap<int, char> a = {{1, 'A'}, {2, 'B'}}; std::multimap<int, char> b = {{1, 'A'}, {2, 'B'}}; if (a == b) { std::cout << "Multimaps are equal." << std::endl; } else { std::cout << "Multimaps are not equal." << std::endl; } return 0; }

输出

以上代码的输出如下:

Multimaps are equal.

示例

考虑以下示例,我们将考虑不同大小的 multimap 并应用 operator==() 函数。

Open Compiler
#include <iostream> #include <map> int main() { std::multimap<int, char> a = {{1, 'A'}, {2, 'B'}}; std::multimap<int, char> b = {{1, 'A'}, {2, 'B'}, {2, 'C'}}; if (a == b) { std::cout << "Multimaps are equal." << std::endl; } else { std::cout << "Multimaps are not equal." << std::endl; } return 0; }

输出

以上代码的输出如下:

Multimaps are not equal.

示例

在下面的示例中,我们将为相同的键提供不同的值,并应用 operator==() 函数。

Open Compiler
#include <iostream> #include <map> int main() { std::multimap<int, char> a = {{1, 'A'}, {2, 'C'}}; std::multimap<int, char> b = {{1, 'A'}, {2, 'E'}}; if (a == b) { std::cout << "Multimaps are equal." << std::endl; } else { std::cout << "Multimaps are not equal." << std::endl; } return 0; }

输出

如果我们运行以上代码,它将生成以下输出:

Multimaps are not equal.
multimap.htm
广告