English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ Tutorial Básico

C++ Controle de Fluxo

C++ Função

C++ Array & string

C++ Estrutura de dados

C++ Classe & objeto

C++ Ponteiro

C++ Herança

C++ Tutorial STL

C++ Manual de referência

C++ Uso e exemplo do operador de conjunto set==

C++ Set ( Conjunto ) do STL

C ++ operador de conjunto set==é C ++do conjunto setÜberladung nichtmitgliedsfunktion. Esta função é usada para verificar se dois conjuntos são iguais.

Nota: a comparação entre objetos de conjunto é baseada na comparação de pares de elementos. Se dois conjuntos tiverem o mesmo número de elementos e seus elementos correspondentes tiverem valores iguais, então os conjuntos são iguais. Caso contrário, eles são diferentes.

Sintaxe

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

Parâmetros

lhs: o primeiro objeto de conjunto.

rhs: o segundo objeto.

Retorno

Se o objeto set da esquerda for igual ao objeto set da direita, retorna true, caso contrário, retorna false.

Complexo

Se o tamanho de lhs e rhs for diferente, a complexidade permanecerá inalterada.

Caso contrário, o comprimento máximo é lhs e rhs.

Validade do iterador

Sem alterações.

Concorrência de dados

É possível acessar os contêineres lhs e rhs.

Acesso simultâneo aos elementos de um objeto de conjunto não modificado sempre é seguro, o que significa que seus elementos são imutáveis.

Segurança de exceções

Esta função não lança exceções.

Instance1

Vamos ver um exemplo simples para verificar se dois conjuntos são iguais:

#include <iostream>
#include <set>
using namespace std;
int main() {
   set<char> m1;
   set<char> m2;
   if (m1 == m2)
      cout << "dois conjuntos são iguais." << endl;
   m1.emplace('a');
   
   //in the set m1after adding elements
   if (!(m1 == m2))
      cout << "Two sets are not equal." << endl;
   return 0;
}

Saída:

two sets are equal.
two sets are not equal.

In the above example, the set m1e m2is empty. Therefore, operator == will return true, and in the set m1after adding an element, m1size will be different from m2size. Therefore, it will return false.

Instance2

Let's see a simple instance:

#include <set>  
#include <iostream>  
  
int main ()  
{  
   using namespace std;  
   set < int > m1, m2, m3;  
   int i;  
     
   for (i = 0; i <3; i ++)  
   {  
      m1.insert (i);  
      m2.insert (i * i);  
      m3.insert (i);  
   }  
  
   if (m1 == m2)  
      cout << "Set m1e m2is equal." << endl;  
   else  
      cout << "Set m1e m2is not equal.  
  
   if (m1 == m3)  
      cout << "Set m1e m3is equal." << endl;  
   else  
      cout << "Set m1e m3is not equal.  
      return 0;
}

Saída:

Set m1e m2is not equal.
Set m1e m3They are equal.

Instance3

Let's see a simple instance:

#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; 
}

Saída:

1
0

In the above example, if the set s1and s2Equal, then it will return1Otherwise, return 0.

Instance4

#include <set>  
#include <iostream>  
using namespace std; 
  
int main ()  
{  
   set<string> m2;
   typedef set<string> login; 
   
  m2 = {"xyz@123"} ; //stored password
   
   string password;
   login m1;
   
       cout << "---------Login----------"<< endl << endl;
       cout << "输入密码: \n";
       cin >> password;    // Get value
       m1.insert(password);   // Put them in set
     cout << "您输入的密码: \n";
     for (auto it = m1.begin(); it != m1.end(); it++) {
        cout << (*it)<< endl;
      }
      cout << "系统中存储的密码 \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;
}

Saída:

1).
---------Login----------
Insira a senha: 
xyz
Senha que você inseriu: 
xyz
Senha armazenada no sistema:
xyz@123
Senha Incorreta...
2).
---------Login----------
Insira a senha: 
xyz@123
Senha que você inseriu: 
xyz@123
Senha armazenada no sistema:
xyz@123
Bem-vindo à sua Página...

Existem dois grupos m no exemplo acima1e m2。m1Contém a senha, o segundo grupo m2Armazena a senha inserida pelo usuário. Verifica se os dois conjuntos possuem os mesmos elementos. Se a senha coincidir, o login será bem-sucedido; caso contrário, o login falhará.

C++ Set ( Conjunto ) do STL