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 对象。

返回值

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

示例

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

#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==() 函数。

#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==() 函数。

#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
广告