=====Map operators=====
Syntax:
#include
Maps can be compared and assigned with the standard comparison operators: ==,
!=, <=, >=, <, >, and =. Individual elements of a map can be examined with the
[] operator.
Performing a comparison or assigning one map to another takes [[/complexity|linear time]].
Two maps are equal if:
- Their size is the same, and
- Each member in location i in one map is equal to the the member in location i in the other map.
Comparisons among maps are done lexicographically.
For example, the following code defines a map between strings and integers and
loads values into the map using the [] operator:
struct strCmp {
bool operator()( const char* s1, const char* s2 ) const {
return strcmp( s1, s2 ) < 0;
}
};
map ages;
ages["Homer"] = 38;
ages["Marge"] = 37;
ages["Lisa"] = 8;
ages["Maggie"] = 1;
ages["Bart"] = 11;
cout << "Bart is " << ages["Bart"] << " years old" << endl;
cout << "In alphabetical order: " << endl;
for( map::iterator iter = ages.begin(); iter != ages.end(); ++iter ) {
cout << (*iter).first << " is " << (*iter).second << " years old" << endl;
}
When run, the above code displays this output:
Bart is 11 years old
In alphabetical order:
Bart is 11 years old
Homer is 38 years old
Lisa is 8 years old
Maggie is 1 years old
Marge is 37 years old
Related Topics: [[insert]], [[map_constructors]]