English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C ++ set 运算符==是C ++中set 的非成员重载函数。此功能用于检查两组集合是否相等。
注意:集合对象之间的比较是基于元素的成对比较。如果两个集合具有相同数量的元素,并且它们对应的元素具有相同的值,则两个集合是相等的。否则它们是不相等的。
template<class T, class Compare, class Alloc> bool operator==(const set<T,Compare,Alloc>& lhs, const set<T,Compare,Alloc>& rhs);
lhs:第一个设置的对象。
rhs:第二个对象。
如果set对象的左侧等于set对象的右侧,则返回true,否则为false。
如果lhs和rhs的大小不同,则复杂度将保持不变。
否则,最大长度为lhs和rhs。
没有变化。
可以访问容器lhs和rhs。
同时访问未修改集合对象的元素始终是安全的,这意味着它们的元素是不可变的。
此函数不会引发异常。
让我们看一个简单的示例来检查两个集合是否相等:
#include <iostream> #include <set> using namespace std; int main() { set<char> m1; set<char> m2; if (m1 == m2) cout << "两个集合是相等的。" << endl; m1.emplace('a'); //집합 m1에 추가된 후 if (!(m1 == m2)) cout << "두 집합이 불일치합니다." << endl; return 0; }
출력:
두 집합이 일치합니다. 두 집합이 불일치합니다.
위의 예제에서, 집합 m1와 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 << "집합 m1와 m2일치합니다." << endl; else cout << "집합 m1와 m2불일치합니다." << endl; if (m1 == m3) cout << "집합 m1와 m3일치합니다." << endl; else cout << "집합 m1와 m3불일치합니다." << endl; return 0; }
출력:
집합 m1와 m2불일치합니다. 집합 m1와 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; }
출력:
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"} ; //저장된 비밀번호 string password; login m1; cout << "---------Login----------"<< endl << endl; cout << "비밀번호 입력: "; cin >> password; // Get value m1.insert(password); // 그들을 set에 넣습니다 cout << "입력한 비밀번호: "; for (auto it = m1.begin(); it != m1.end(); it++) { cout << (*it << endl; } cout << "저장된 비밀번호: "; for (auto it = m2.begin(); it != m2.end(); it++) { cout << (*it << endl; } if (m1 == m2) cout << 당신의 페이지로 환영합니다... << endl; else cout << 잘못된 비밀번호... << endl; return 0; }
출력:
1). ---------Login---------- 비밀번호 입력: xyz 입력하신 비밀번호: xyz 시스템에 저장된 비밀번호 : xyz@123 Incorrect Password... 2). ---------Login---------- 비밀번호 입력: xyz@123 입력하신 비밀번호: xyz@123 시스템에 저장된 비밀번호 : xyz@123 Welcome to your Page...
위의 예제에서 두 개의 m 집합이 있습니다1와 m2。m1비밀번호를 포함한 두 번째 집합 m2사용자 입력 비밀번호를 저장합니다. 이 두 집합이 동일한 요소를 가지는지 확인합니다. 비밀번호가 일치하면 로그인 성공, 그렇지 않으면 로그인 실패입니다.