English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C ++ opérateur == setest C ++de setFonction redéfinie de membre non membre. Cette fonction est utilisée pour vérifier si deux ensembles de groupes sont égaux.
Remarque : la comparaison entre les objets d'ensemble est basée sur la comparaison en paires des éléments. Si deux ensembles ont le même nombre d'éléments et que leurs éléments correspondants ont les mêmes valeurs, alors deux ensembles sont égaux. Sinon, ils ne sont pas égaux.
template<class T, class Compare, class Alloc> bool operator==(const set<T, Compare, Alloc>& lhs, const set<T, Compare, Alloc>& rhs);
lhs:premier objet d'ensemble.
rhs:deuxième objet.
Si le côté gauche de l'objet set est égal au côté droit de l'objet set, retourne true, sinon retourne false.
Si la taille de lhs et rhs est différente, la complexité reste inchangée.
Sinon, la longueur maximale est lhs et rhs.
Il n'y a pas de changement.
Il est possible d'accéder aux conteneurs lhs et rhs.
L'accès simultané aux éléments d'un objet d'ensemble non modifié est toujours sécurisé, ce qui signifie que leurs éléments sont immuables.
Cette fonction ne déclenche pas d'exception.
Nous allons voir un exemple simple pour vérifier si deux ensembles sont égaux :
#include <iostream> #include <set> using namespace std; int main() { set<char> m1; set<char> m2; if (m1 == m2) cout << "deux ensembles sont égaux." << endl; m1.emplace('a'); //在集合m1中添加元素之后 if (!(m1 == m2)) cout << "两个集合不相等。" << endl; return 0; }
Sortie :
两个集合是相等的。 两个集合不相等。
在上面的示例中,集合m1et m2为空。因此,operator ==将返回true,并且在集合m1中添加一个元素后,m1的大小将不同于m2的大小。因此,它将返回false。
让我们看一个简单的实例:
#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 << "集合m1et m2是相等的。" << endl; else cout << "集合m1et m2不相等。" << endl; if (m1 == m3) cout << "集合m1et m3是相等的。" << endl; else cout << "集合m1et m3不相等。" << endl; return 0; }
Sortie :
集合m1et m2不相等。 集合m1et m3是相等的。
让我们看一个简单的实例:
#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; }
Sortie :
1 0
在上面的示例中,如果集合s1和s2相等,则它将返回1,否则返回0。
#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; }
Sortie :
1). ---------Login---------- Entrer le mot de passe : xyz Mot de passe que vous avez entré : xyz Mot de passe stocké dans le système : xyz@123 Mot de passe incorrect... 2). ---------Login---------- Entrer le mot de passe : xyz@123 Mot de passe que vous avez entré : xyz@123 Mot de passe stocké dans le système : xyz@123 Bienvenue à votre Page...
Dans l'exemple ci-dessus, il y a deux ensembles m1et m2.m1Contient le mot de passe, le second ensemble m2Stocke le mot de passe entré par l'utilisateur. Il vérifie si ces deux ensembles ont les mêmes éléments. Si les mots de passe correspondent, la connexion est réussie, sinon la connexion échoue.