#include #include #include std::set string_set; void insert_and_print(std::string name) try { std::pair< std::set::iterator, bool > retval; retval = string_set.insert(name); if (retval.second) std::cout << "INSERTED: " << *retval.first << std::endl; else std::cout << "FOUND EXISTING SET MEMBER: " << *retval.first << std::endl; } catch(std::bad_alloc e) { std::cerr << "function died with bad memory allocation\n"; } void find_it(std::string name) { std::set::iterator end = string_set.end(); std::set::iterator found = string_set.find(name); if ( found != end ) std::cout << "FOUND IN SET: " << *found << std::endl; else std::cout << "NOT FOUND IN SET: " << name << std::endl; } int main(int argc, char** argv) { insert_and_print("alice"); insert_and_print("bob"); insert_and_print("catherine"); insert_and_print("alice"); insert_and_print("bob"); insert_and_print("catherine"); find_it("adam"); find_it("barby"); find_it("catherine"); std::set::iterator end = string_set.end(); for ( std::set::iterator iter = string_set.begin(); iter != end ; iter++) { std::cout << "SET MEMBER: " << *iter << std::endl; } return 0; }