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
廣告
© . All rights reserved.