English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Operatore < è un insieme di funzioni di sovraccarico non membri in C++.
template<class T, class Compare, class Alloc> bool operator< (const set<T,Compare,Alloc>& lhs, const set<T,Compare,Alloc>& rhs);
lhs: l'oggetto del primo insieme.
rhs: l'oggetto secondario.
Se l'oggetto set di sinistra è minore dell'oggetto set di destra, restituisce true, altrimenti restituisce false.
Se la dimensione di lhs e rhs è diversa, la complessità rimane invariata.
Altrimenti, la lunghezza massima è quella di lhs e rhs.
Nessuna modifica.
Si può accedere ai contenitori lhs e rhs.
L'accesso agli elementi di un insieme non modificato è sempre sicuro.
Questa funzione non lancia eccezioni.
Vediamo un esempio semplice, per controllare se il primo insieme è minore di:
#include <iostream> #include <set> using namespace std; int main() { set<char> m1; set<char> m2; m2.emplace('a'); if (m1 < m2) cout << "L'insieme m1 è minore dell'insieme m2." << endl; m1 = m2; if (!(m1 < m2)) cout << "L'insieme m1 non è minore dell'insieme m2." << endl; return 0; }
Output:
L'insieme m1 è minore dell'insieme m2. L'insieme m1 non è minore dell'insieme m2.
Nell'esempio sopra, ci sono due gruppi m1 e m2. m2 contiene un elemento, mentre m1 è vuoto. Quando confrontiamo due insiemi, viene visualizzato il messaggio "L'insieme m1 è minore dell'insieme m2", e dopo aver assegnato m2 a m1, entrambi gli insiemi hanno elementi uguali, quindi viene visualizzato il messaggio "L'insieme m1 non è minore dell'insieme m2".
Ecco un esempio semplice:
#include <set> #include <iostream> int main () { using namespace std; set<int> m1, m2, m3; int i; for (i = 1; i < 3; i++) { m1.insert(i); m2.insert(i * i); m3.insert(i - 1); } if (m1 < m2) cout << "L'insieme m1 è minore dell'insieme m2." << endl; else cout << "L'insieme m1 non è minore o uguale all'insieme m2." << endl; if (m1 < m3) cout << "L'insieme m1 è minore dell'insieme m3." << endl; else cout << "L'insieme m1 non è minore o uguale all'insieme m3." << endl; }
Output:
L'insieme m1 è minore dell'insieme m2. L'insieme m1 non è minore o uguale all'insieme m3.
Ecco un esempio semplice:
#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:
0 1
Nell'esempio sopra, se l'insieme s1 è minore di s2, restituirà 1, altrimenti restituirà 0.
#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 << "The password you entered:\n" for (auto it = m1.begin(); it != m1.end(); it++) { cout << (*it) << endl; } cout << "The stored password in the system:\n" for (auto it = m2.begin(); it != m2.end(); it++) { cout << (*it) << endl; } if (m1 < m2) cout << "\nPassword error..." << endl; else cout << "\nBenvenuto nella tua pagina..." << endl; return 0; }
Output:
1). ---------Login---------- Inserisci la password: xyz@123 Password inserita da te: xyz@123 Password memorizzata nel sistema : xyz@123 Benvenuto nella tua pagina... 2). ---------Login---------- Inserisci la password: abc@123 Password inserita da te: abc@123 Password memorizzata nel sistema: xyz@123 Password errata...
Nell'esempio sopra, ci sono due gruppi m1 e m2. m1 contiene la password, il secondo gruppo m2 memorizza la password inserita dall'utente. Verifica se m1 è minore di m2. Se la password m1 non è minore di m2, il login è successo, altrimenti il login è fallito.