Containers in Practice
Unordered Set Lookup
An unordered set answers membership questions without requiring the values to stay sorted.
Unordered Set Lookup
unordered_set_lookup.cpp
#include <iostream>
#include <string>
#include <unordered_set>
int main() {
std::string role = ;
std::unordered_set<std::string> allowed{"admin", "editor"};
bool present = allowed.find(role) != allowed.end();
std::cout << "role=" << role << std::endl;
std::cout << "present=" << present << std::endl;
return 0;
}
#include <iostream>
#include <string>
#include <unordered_set>
int main() {
std::string role = ;
std::unordered_set<std::string> allowed{"admin", "editor"};
bool present = allowed.find(role) != allowed.end();
std::cout << "role=" << role << std::endl;
std::cout << "present=" << present << std::endl;
return 0;
}
#include <iostream>
#include <string>
#include <unordered_set>
int main() {
std::string role = ;
std::unordered_set<std::string> allowed{"admin", "editor"};
bool present = allowed.find(role) != allowed.end();
std::cout << "role=" << role << std::endl;
std::cout << "present=" << present << std::endl;
return 0;
}
unordered set
A `std::unordered_set` stores unique values and optimizes lookup instead of ordering.
contains
Before C++20, `find` is the common membership check for unordered sets.