C++ unordered_multimap::operator!= 函式



C++ 的std::unordered_multimap::operator!= 函式用於檢查兩個 unordered_multimap 是否相等。如果兩個 unordered_multimap 不相等則返回 true,否則返回 false。

當兩個 multimap 具有相同的資料型別時,此函式將起作用。如果嘗試比較資料型別不同的 unordered_multimap,則會顯示錯誤。

語法

以下是 std::unordered_multimap::operator!= 函式的語法。

bool operator!=(const unordered_multimap<Key,T,Hash,Pred,Alloc>& first,const unordered_multimap<Key,T,Hash,Pred,Alloc>& second);

引數

  • first - 第一個 unordered_multimap 物件。
  • second - 第二個 unordered_multimap 物件。

返回值

如果兩個 unordered_multimap 不相等,則此函式返回 true,否則返回 false。

示例 1

在以下示例中,我們將演示 unordered_multimap::operator!= 函式的使用。

#include <iostream>
#include <unordered_map>
using namespace std;
int main(void) {
   unordered_multimap<char, int> umm1;
   unordered_multimap<char, int> umm2;
   umm1.emplace('a', 1);
   if (umm1 != umm2)
      cout << "Both unordered_multimaps are not equal" << endl;
   umm1 = umm2;
   if (!(umm1 != umm2))
      cout << "Both unordered_multimaps are equal" << endl;
   return 0;
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

Both unordered_multimaps are not equal
Both unordered_multimaps are equal

示例 2

讓我們看下面的例子,我們將對相同型別但元素不同的 multimap 使用 operator!=() 函式。

#include <iostream>
#include <unordered_map>
using namespace std;
int main(void) {
   unordered_multimap<int, int> umm1 = {{1, 5}, {2, 6}, {3, 7}, {4, 8}};
   unordered_multimap<int, int> umm2 = {{2, 4}, {3, 1}, {4, 2}, {5, 3}};
   if (umm1 != umm2)
      cout << "Both unordered_multimaps are not equal" << endl;
   if (!(umm1 != umm2))
      cout << "Both unordered_multimaps are equal" << endl;
   return 0;
}

輸出

如果我們執行上面的程式碼,它將生成以下輸出:

Both unordered_multimaps are not equal

示例 3

考慮以下示例,我們將使用 operator!=() 函式來顯示 multimap 的元素(如果它們不相等),否則如果它們相等,則顯示任何一個 multimap 的元素。

#include <iostream>
#include <unordered_map>
using namespace std;
int main(void) {
   unordered_multimap<string, string> umm1 = {{"aman", "kumar"}, {"akash", "gupta"}, {"vivek", "verma"}, {"aman", "kumar"}};
   unordered_multimap<string, string> umm2 = {{"Sakshi", "Sharma"}, {"Alok", "Gupta"}, {"Sakshi", "Sharma"}, {"Akash", "Kumar"}};
   if (umm1 != umm2) {
      cout<<"elements of umm1"<<endl;
      for(auto & it: umm1){
         cout<<it.first<<" : "<<it.second<<endl;
      }
      cout<<endl;
      cout<<"elements of umm2"<<endl;
      for(auto & it: umm2){
         cout<<it.first<<" : "<<it.second<<endl;
      }
   }
   if (!(umm1 != umm2)){
      cout << " elements of both unordered_multimaps are equal" << endl;
      for(auto& it: umm1){
         cout<<it.first<<" : "<<it.second<<endl;
      }
   }
   return 0;
}

輸出

以下是上述程式碼的輸出:

elements of umm1
vivek : verma
akash : gupta
aman : kumar
aman : kumar

elements of umm2
Akash : Kumar
Alok : Gupta
Sakshi : Sharma
Sakshi : Sharma

示例 4

以下是一個示例,我們將使用 operator!=() 函式並以布林值顯示輸出。

#include <iostream>
#include <unordered_map>
using namespace std;
int main() {
   unordered_multimap<string, string> umm1 = {{"Aman", "kumar"}, {"akash", "gupta"}, {"Alok", "gupta"}, {"Aman", "yadav"}};
   unordered_multimap<string, string> umm2 = {{"Aman", "kumar"}, {"akash", "gupta"}, {"Alok", "gupta"}, {"Aman", "yadav"}};
   
   cout<<boolalpha;
   cout<<(umm1 != umm2)<<endl;
   cout<<(!(umm1 != umm2))<<endl;
   
   return 0;
}

輸出

上述程式碼的輸出如下:

false
true
廣告