KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm using the STL map data structure, and at the moment my code first invokes find() : if the key was not previously in the map, it calls insert() it, otherwise it does nothing. map<Foo*, string>::iterator it; it = my_map.find(foo_obj); // 1st lookup if(it == my_map.end()){ my_map[foo_obj] = "some value"; // 2nd lookup }else{ // ok do nothing. } I was wondering if there is a better way than this, because as far as I can tell, in this case when I want to insert a key that is not present yet, I perform 2 lookups in the map data structures: one for find() , one in the insert() (which corresponds to the operator[] ). Thanks in advance for any suggestion.
Tags (comma-separated)
Save Edits
Cancel