C++ std operator< =(小于等于操作符)

C++ std operator<=(小于等于操作符)

C++ std Operator <=(小于等于操作符) 是C++中set的非成员重载函数 。此函数用于检查第一个set是否小于或等于另一个set。

注意:Operator <=(小于等于操作符)会逐个比较元素,一旦发现不匹配,则停止比较。

语法

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 less than or equal to m2." << endl;

   m1.emplace('b');

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

   return 0;
}

输出:

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

在上面的示例中,有两个集合m1和m2。m1和m2都包含一个元素。当我们比较这两个集合时,它会显示消息”集合m1小于等于m2″,然后在m1中添加一个额外的元素后,它会显示消息”集合m1不小于等于m2″。

示例2

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

#include <set>  
#include <iostream>  

int main ()  
{  
   using namespace std;  
   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 << "The set m1 is less than or equal to the set m2." << endl;  
   else  
      cout << "The set m1 is greater than the set m2." << endl;  

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

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

输出:

The set m1 is less than or equal to the set m2.
The set m1 is greater than the set m3.
The set m1 is less than or equal to the 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 ;

  s1 . insert ( 40 );

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

输出:

1
0

在上面的示例中,如果设置的s1小于或等于s2,则返回1,否则返回0。

示例4

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

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

   m2.insert("xyz@123") ; //stored 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 (m2 <= m1)  
        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@333
Password you have entered: 
abc@333
Password stored in the system:
xyz@123

Incorrect Password...

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程