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

📅  最后修改于: 2020-10-20 06:14:37             🧑  作者: Mango

C++ STL Multimap.operator> =

C++运算符> =是C++中multimap的非成员重载函数。此函数用于检查第一个Multimap是否大于或等于其他。

注意:运算符> =按顺序比较multimap的元素,比较将在第一次不匹配时停止。

句法

template 
  bool operator>=  ( const multimap& lhs,
                    const multimap& rhs );

参数

lhs:第一个Multimap对象。

rhs:第二个Multimap对象。

返回值

如果Multimap容器对象的左侧大于或等于Multimap容器对象的右侧,则返回true。否则返回false。

复杂度

如果lhs和rhs的大小不同,则复杂度将保持不变。

否则,大小最大为线性(相等比较)。

迭代器有效性

没有变化。

数据竞争

可以访问容器lhs和rhs。

异常安全

此函数不会引发异常。

例子1

让我们看一个简单的示例,检查第一个Multimap是否大于或等于:

#include 
#include 

using namespace std;

int main() {
   multimap m1;
   multimap m2;

   m1.emplace('a', 1);
   m2.emplace('a', 1);

   if (m1 >= m2)
      cout << "Multimap m1 is greater than or equal to m2." << endl;

   m2.emplace('b', 2);

   if (!(m1 >= m2))
      cout << "Multimap m1 is not greater than or equal to m2." << endl;

   return 0;
}

输出:

Multimap m1 is greater than or equal to m2.
Multimap m1 is not greater than or equal to m2.

在上面的示例中,有两个Multimapm1和m2。 m1和m2包含一个元素。当我们比较两个Multimap时,它将显示消息“Multimapm1大于或等于m2″,并且在向m2添加一个元素之后,它将显示消息“Multimapm1不大于或等于m2″。

例子2

让我们看一个简单的例子:

#include   
#include   
  
using namespace std; 
   
int main( )  
{   
   multimap < int, int > m1, m2, m3, m4;  
   int i;  
   typedef pair < int, int > Int_Pair;  
  
   for ( i = 1 ; i < 3 ; i++ )  
   {  
      m1.insert ( Int_Pair ( i, i ) );  
      m2.insert ( Int_Pair ( i, i * i ) );  
      m3.insert ( Int_Pair ( i, i - 1 ) );  
      m4.insert ( Int_Pair ( i, i ) );  
   }  
  
   if ( m1 >= m2 )  
      cout << "Multimap m1 is greater than or equal to multimap m2." << endl;  
   else  
      cout << "The multimap m1 is less than the multimap m2." << endl;  
  
   if ( m1 >= m3 )  
      cout << "Multimap m1 is greater than or equal to multimap m3." << endl;  
   else  
      cout << "The multimap m1 is less than the multimap m3." << endl;  
  
   if ( m1 >= m4 )  
      cout << "Multimap m1 is greater than or equal to multimap m4." << endl;  
   else  
      cout << "The multimap m1 is less than the multimap m4." << endl;  
      
      return 0;
}

输出:

The multimap m1 is less than the multimap m2.
Multimap m1 is greater than or equal to multimap m3.
Multimap m1 is greater than or equal to multimap m4.

例子3

让我们看一个简单的例子:

#include 
#include 

using namespace std;

int main()
{
  multimap m1, m2;
  m1.insert(make_pair('a',10));
  m1.insert(make_pair('b',20));
  m1.insert(make_pair('a',30));
  m2 = m1;

  cout << (m1 >= m2) << endl;

  m2.insert(make_pair('d',40));

  cout << (m1 >= m2) << endl;

  return 0;
}

输出:

1
0

在上面的示例中,如果m1大于或等于m2,则它将返回1,否则返回0。

例子4

#include   
#include   
using namespace std; 
  
int main ()  
{  
   multimap m2;
   typedef multimap login; 
   
   m2.insert({2040, "xyz@123"}) ; //stored id and password
   
   string password;
   int id;
   login m1;
   
       cout<<"---------Login----------"<> id;              // Get key
       cin>> password;       // Get value
       m1.insert({id, password});   // Put them in multimap

     cout<<"ID and password you have entered: \n";
     for (auto it = m1.begin(); it != m1.end(); it++) {
        cout << (*it).first << "    " << (*it).second << endl;
      }
      cout<<"ID and Password stored in the system :\n";
     for (auto it = m2.begin(); it != m2.end(); it++) {
        cout << (*it).first << "    " << (*it).second << endl;
     }

  
   if (m1 >= m2)  
        cout << "\nWelcome to your Page..." << endl;
   else  
        cout << "\nIncorrect ID or Password..." << endl;
      return 0;
}

输出:

1).
---------Login----------

Enter the ID and password: 
1020     xyz
ID and password you have entered: 
1020     xyz
ID and Password stored in the system:
2040     xyz@123

Incorrect ID or Password...


2).
---------Login----------

Enter the ID and password: 
2040     xyz@123
ID and password you have entered: 
2040     xyz@123
ID and Password stored in the system:
2040     xyz@123

Welcome to your Page...

在上面的示例中,有两个Multimapm1和m2。 m1包含存储的ID和密码,第二个Multimapm2存储用户输入的ID和密码。它检查m1是否大于或等于m2。如果m1的ID和密码大于或等于m2,则登录成功,否则登录失败。