C++ std operator>=操作符

C++ std operator>=操作符

C++ std Operator >=是 C++ 中集合的非成员重载函数 。该函数用于检查第一个集合是否大于或等于另一个集合。

注意:操作符>=会按顺序比较集合的元素,并在第一次出现不匹配时停止比较。

语法

template <class T, class Compare, class Alloc>
  bool operator>= ( const set<T,Compare,Alloc>& lhs,
                    const set<T,Compare,Alloc>& rhs );

参数

lhs : 第一个集合对象。

rhs : 第二个集合对象。

返回值

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

复杂度

如果lhs和rhs的大小不同,则复杂度为常数。

否则,复杂度与lhs和rhs的大小成线性关系。

迭代器有效性

没有改变。

数据竞争

容器lhs和rhs被访问。

并发访问未修改的集合元素总是安全的。

异常安全

该函数不会抛出异常。

示例1

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

#include <iostream>
#include <set>

using namespace std;

int main() {
   set<char> m1;
   set<char> m2;

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

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

   m2.emplace('b');

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

   return 0;
}

输出:

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

在上面的示例中,有两个集合m1和m2。m1和m2各包含一个元素。当我们比较这两个集合时,会显示消息“集合m1大于等于m2”,当将一个元素添加到m2后,会显示消息“集合m1不大于等于m2”。

示例2

让我们来看一个简单的示例:

#include <set>  
#include <iostream>  

using namespace std; 

int main( )  
{   
   set < int > m1, m2, m3, m4;  
   int i;  

   for ( i = 1 ; i < 3 ; i++ )  
   {  
      m1.insert ( i );  
      m2.insert (i * i );  
      m3.insert ( i - 1 );  
      m4.insert ( i );  
   }  

   if ( m1 >= m2 )  
      cout << "Set m1 is greater than or equal to set m2." << endl;  
   else  
      cout << "The set m1 is less than the set m2." << endl;  

   if ( m1 >= m3 )  
      cout << "Set m1 is greater than or equal to set m3." << endl;  
   else  
      cout << "The set m1 is less than the set m3." << endl;  

   if ( m1 >= m4 )  
      cout << "Set m1 is greater than or equal to set m4." << endl;  
   else  
      cout << "The set m1 is less than the set m4." << endl;  

      return 0;
}

输出:

The set m1 is less than the set m2.
Set m1 is greater than or equal to set m3.
Set m1 is greater than or equal to set m4.

示例3

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

#include <iostream>
#include <set>

using namespace std;

int  main () 
{ 
  set < int >  s1 ,  s2 ; 
  s1 . insert ( 10 ); 
  s1 . insert ( 20 ); 
  s1 . insert ( 30 ); 
  s2  =  s1 ;

  cout  <<  ( s1  >=  s2 )  << endl ;

  s2 . insert ( 40 );

  cout  <<  ( s1  >=  s2 )  <<  endl ; 
}

输出:

1
0

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

示例4

#include <set>  
#include <iostream>  
using namespace std; 

int main ()  
{  
   set<string> m2;
   typedef set<string> login; 

   m2 = {"xyz@123"} ; //stored id and password

   string password;
   login m1;

       cout<<"---------Login----------"<<endl<<endl;
       cout<<"Enter password: \n";
       cin>> password;       // Get value
       m1.insert(password);   // Put them in set

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


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

输出:

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

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

Welcome to your Page...


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

Enter password: 
abc@122
Password you have entered: 
abc@122
Password stored in the system :
xyz@123

Incorrect Password...

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程