C++ Set 中的 operator<=函数

首页 / C++入门教程 / C++ Set 中的 operator<=函数

此函数用于检查第一组是否小于或等于其他。

Note: Operator <= 按顺序比较元素,首先将停止不匹配比较。

operator<= - 语法

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

operator<= -  参数

lhs :第一个设置的对象。

rhs :第二组对象。

operator<= - 返回值

如果设置对象的左侧小于或等于设置对象的右侧,则返回true,否则返回false。

无涯教程网

operator<= -  例子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"。

operator<= -  例子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. 

operator<= - 例子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。

operator<= -  例子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,则登录成功,否则登录失败。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

深入拆解Tomcat & Jetty -〔李号双〕

Swift核心技术与实战 -〔张杰〕

高并发系统设计40问 -〔唐扬〕

Service Mesh实战 -〔马若飞〕

分布式系统案例课 -〔杨波〕

OAuth 2.0实战课 -〔王新栋〕

容器实战高手课 -〔李程远〕

数据分析思维课 -〔郭炜〕

深入浅出可观测性 -〔翁一磊〕

好记忆不如烂笔头。留下您的足迹吧 :)