English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
연산자 <은 C++에서 비멤버 오버로드 함수 집합입니다.++. 이 함수는 첫 번째 집합이 다른 집합보다 작은지 확인하는 데 사용됩니다.
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 컨테이너를 접근할 수 있습니다.
수정되지 않은 집합의 요소에 동시에 접근하는 것은 항상 안전합니다.
이 함수는 예외를 발생시키지 않습니다.
이 간단한 예제를 보겠습니다, 첫 번째 집합이 s보다 작은지 확인합니다:
#include <iostream> #include <set> using namespace std; int main() { set<char> m1; set<char> m2; m2.emplace('a'); if (m1 < m2) cout << "集合m1보다 작습니다2." << endl; m1 = m2; if (!(m1 < m2)) cout << "集合m1m보다 작지 않습니다2." << endl; return 0; }
출력:
집합m1보다 작습니다2. 집합m1m보다 작지 않습니다2.
위의 예제에서 두 그룹의 m이 있습니다1와 m2m2이 하나의 요소를 포함하고 있으며 m1이 비어 있습니다. 두 집합을 비교할 때, "集合m1보다 작습니다2", 그리고 m2에 할당됩니다1이후, 두 집합은 같은 요소를 가지고 있으며, 그런 다음 "集合m1m보다 작지 않습니다2"
이 간단한 예제를 보겠습니다:
#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 << "集合m1집합m보다 작습니다2." << endl; else cout << "集合m1集合m보다 크지 않습니다2." << endl; if (m1 < m3) cout << "集合m1집합m보다 작습니다3." << endl; else cout << "集合m1集合m보다 크지 않습니다3." << endl; }
출력:
집합m1집합m보다 작습니다2. 집합m1集合m보다 크지 않습니다3.
이 간단한 예제를 보겠습니다:
#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; }
출력:
0 1
위의 예제에서, 집합 s1s보다 작은2그렇다면1그렇지 않으면 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 << \"비밀번호 입력:\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 << \ else cout << "\n당신의 페이지에 오신 것을 환영합니다..." << endl; return 0; }
출력:
1). ---------Login---------- 비밀번호 입력: xyz@123 당신이 입력한 비밀번호: xyz@123 시스템에 저장된 비밀번호 : xyz@123 당신의 페이지에 오신 것을 환영합니다... 2). ---------Login---------- 비밀번호 입력: abc@123 당신이 입력한 비밀번호: abc@123 시스템에 저장된 비밀번호: xyz@123 비밀번호 오류...
위의 예제에서 두 그룹의 m이 있습니다1와 m2m1비밀번호를 포함하고, 두 번째 그룹 m2사용자가 입력한 비밀번호를 저장합니다. 그것은 m을 확인합니다1m보다 작은지 여부2m이 비밀번호1m보다 작지 않습니다2로그인 성공하면, 그렇지 않으면 로그인 실패.