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

Manuale di base di C++

Controllo di flusso C++

Funzione in C++

Array e stringhe C++

Strutture dati C++

Classi e oggetti C++

Puntatore in C++

Ereditarietà in C++

Manuale di STL di C++

Manuale di riferimento C++

Utilizzo e esempio dell'operatore set== in C++

Set (insieme) in STL di C++

C++ Operatore set==è l'operatore set in C++Funzione sovraccaricata non membro. Questa funzione viene utilizzata per verificare se due insiemi di gruppi sono uguali.

Nota: la comparazione tra oggetti di insieme è basata sulla comparazione a coppie degli elementi. Se due insiemi hanno lo stesso numero di elementi e gli elementi corrispondenti hanno lo stesso valore, allora due insiemi sono uguali. Altrimenti sono diversi.

Sintassi

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

Parametro

lhs: primo oggetto set.

rhs: secondo oggetto.

Valore di ritorno

Se l'oggetto set di sinistra è uguale all'oggetto set di destra, restituisce true, altrimenti restituisce false.

Complesso

Se la dimensione di lhs e rhs è diversa, la complessità rimarrà invariata.

Altrimenti, la lunghezza massima è lhs e rhs.

Validità degli iteratori

Senza cambiamenti.

Conflitto dei dati

Puoi accedere ai contenitori lhs e rhs.

L'accesso simultaneo agli elementi di un oggetto di集合 non modificato è sempre sicuro, il che significa che i loro elementi sono immutabili.

Sicurezza delle eccezioni

Questa funzione non genererà eccezioni.

Esempio 1

Facciamo un esempio semplice per verificare se due insiemi sono uguali:

#include <iostream>
#include <set>
using namespace std;
int main() {
   set<char> m1;
   set<char> m2;
   if (m1 == m2)
      cout << "Gli insiemi sono uguali." << endl;
   m1.emplace('a');
   
   // Dopo aver aggiunto un elemento all'insieme m1
   if (!(m1 == m2))
      cout << "Gli insiemi non sono uguali." << endl;
   return 0;
}

Output:

Gli insiemi sono uguali.
Gli insiemi non sono uguali.

Nell'esempio sopra, gliinsiemi m1 e m2 sono vuoti. Pertanto, operator == restituirà true e dopo aver aggiunto un elemento all'insieme m1, la dimensione di m1 sarà diversa dalla dimensione di m2. Pertanto, restituirà false.

Esempio 2

Diamo un'occhiata a un semplice esempio:

#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 << "Gli insiemi m1 e m2 sono uguali." << endl;  
   else  
      cout << "Gli insiemi m1 e m2 non sono uguali." << endl;  
  
   if (m1 == m3)  
      cout << "Gli insiemi m1 e m3 sono uguali." << endl;  
   else  
      cout << "Gli insiemi m1 e m3 non sono uguali." << endl;  
      return 0;
}

Output:

Gli insiemi m1 e m2 non sono uguali.
Gli insiemi m1 e m3 sono uguali.

Esempio 3

Diamo un'occhiata a un semplice esempio:

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

Output:

1
0

Nell'esempio sopra, se l'insieme s1 e s2 sono uguali, restituirà 1, altrimenti restituirà 0.

Esempio 4

#include <set>  
#include <iostream>  
using namespace std; 
  
int main ()  
{  
   set<string> m2;
   typedef set<string> login; 
   
  m2 = {"xyz@123"} ; //password memorizzata
   
   string password;
   login m1;
   
       cout << "---------Accesso----------" << endl << endl;
       cout << "Inserisci la password:\n";
       cin >> password;    // Ottieni il valore
       m1.insert(password);   // Inseriscili nel set
     cout << "La password che hai inserito:\n";
     for (auto it = m1.begin(); it != m1.end(); it++) {
        cout << (*it) << endl;
      }
      cout << "Le password memorizzate nel sistema:\n";
     for (auto it = m2.begin(); it != m2.end(); it++) {
        cout << (*it) << endl;
     }
  
   if (m1 == m2)  
      cout << "\nBenvenuto nella tua Pagina..." << endl;  
   else  
      cout << "\nPassword errata..." << endl;  
      return 0;
}

Output:

1).
---------Login----------
Inserisci la password: 
xyz
Password inserita da te: 
xyz
Password memorizzate nel sistema:
xyz@123
Password errata...
2).
---------Login----------
Inserisci la password: 
xyz@123
Password inserita da te: 
xyz@123
Password memorizzate nel sistema:
xyz@123
Benvenuto nella tua pagina...

Nell'esempio sopra, ci sono due gruppi m1 e m2. m1 contiene le password, il secondo gruppo m2 memorizza le password inserite dall'utente. Verifica se entrambi gli insiemi hanno elementi identici. Se le password corrispondono, il login avviene con successo, altrimenti il login fallisce.

Set (insieme) in STL di C++