English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O operador < é um conjunto de funções de sobrecarga de membros não membros em c++。Esta função é usada para verificar se o primeiro conjunto é menor que outros conjuntos.
template<class T, class Compare, class Alloc> bool operator< (const set<T, Compare, Alloc>& lhs, const set<T, Compare, Alloc>& rhs);
lhs:Primeiro objeto do conjunto.
rhs:Segundo objeto.
Se o lado esquerdo do objeto set for menor que o lado direito do objeto set, retorne true, caso contrário, retorne false.
Se o tamanho de lhs e rhs for diferente, a complexidade permanecerá inalterada.
Caso contrário, o comprimento máximo é lhs e rhs.
Não houve alterações.
Pode acessar os contêineres lhs e rhs.
Acesso simultâneo aos elementos de um conjunto não modificado sempre é seguro.
Esta função não causará exceções.
Vamos ver um exemplo simples, verificar se o primeiro conjunto é menor que:
#include <iostream> #include <set> using namespace std; int main () { set<char> m1; set<char> m2; m2.emplace('a'); if (m1 < m2) cout << "Conjunto m1Menor que m2." << endl; m1 = m2; if (!(m1 < m2)) cout << "Conjunto m1Não menor que m2." << endl; return 0; }
Saída:
Conjunto m1Menor que m2. Conjunto m1Não menor que m2.
No exemplo acima, há dois grupos de m1E m2Se m2Contém um elemento, enquanto m1Está vazio. Quando comparamos dois conjuntos, ele mostrará a mensagem "Conjunto m1Menor que m2", e, ao comparar os conjuntos m2Atribuído a m1Depois, os dois conjuntos terão elementos iguais, então ele mostrará a mensagem "Conjunto m1Não menor que m2".
Vamos ver um exemplo simples:
#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 << "Conjunto m1É menor que o conjunto m2." << endl; else cout << "Conjunto m1Não é menor que o conjunto m2." << endl; if (m1 < m3) cout << "Conjunto m1É menor que o conjunto m3." << endl; else cout << "Conjunto m1Não é menor que o conjunto m3." << endl; }
Saída:
Conjunto m1É menor que o conjunto m2. Conjunto m1Não é menor que o conjunto m3.
Vamos ver um exemplo simples:
#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; }
Saída:
0 1
No exemplo acima, se o conjunto s1menor que s2então ele retornará1Se não, retorne 0.
#include <set> #include <iostream> using namespace std; int main () { set<string> m2; typedef set<string> login; m2.insert("xyz@123)"; //senha armazenada string password; login m1; cout << "---------Login----------" << endl << endl; cout << "Digite a senha: \n"; cin >> password; // Obter valor m1.insert(password); // Coloque-as em conjunto cout << "Senha digitada: \n"; for (auto it = m1.begin(); it != m1.end(); it++) { cout << (*it) << endl; } cout << "Senha armazenada no sistema:\n"; for (auto it = m2.begin(); it != m2.end(); it++) { cout << (*it) << endl; } if (m1 < m2) cout << "\nSenha incorreta..." << endl; else cout << "\nBem-vindo à sua página..." << endl; return 0; }
Saída:
1). ---------Login---------- Insira a senha: xyz@123 Senha que você inseriu: xyz@123 Senha armazenada no sistema : xyz@123 Bem-vindo à sua página... 2). ---------Login---------- Insira a senha: abc@123 Senha que você inseriu: abc@123 Senha armazenada no sistema: xyz@123 Senha incorreta...
No exemplo acima, há dois grupos de m1E m2Se m1Contém a senha, o segundo grupo m2Armazena a senha inserida pelo usuário. Ela verifica m1Se for menor que m2Se a senha m1Não menor que m2Se logar com sucesso, senão falhar no login.