C++ std::map Usage Explained
std::map is an associative container in the C++ standard library used to store key-value pairs. It internally utilizes a Red-Black Tree to ensure the ordering of the key-value pairs.
You can quickly find the corresponding value based on the key using std::map, with a time complexity of O(log n). You can insert, delete, and search for elements using std::map member functions, and it also supports traversal operations.
Here are some common methods for std::map:
- insert a key-value pair into the map: this function allows you to add a key and its corresponding value into the map.
- Delete the key in the map corresponding to the specified key.
- Search for the value corresponding to the specified key in the map.
- begin() and end(): return iterators pointing to the first and last element of the map, used to iterate through the elements in the map.
- size(): Returns the number of elements in the map.
- empty(): determine if the map is empty.
Example code:
#include <iostream>
#include <map>
int main() {
std::map<int, std::string> myMap;
myMap.insert(std::make_pair(1, "apple"));
myMap.insert(std::make_pair(2, "banana"));
myMap.insert(std::make_pair(3, "cherry"));
std::map<int, std::string>::iterator it;
for (it = myMap.begin(); it != myMap.end(); ++it) {
std::cout << it->first << " => " << it->second << std::endl;
}
if (myMap.find(2) != myMap.end()) {
std::cout << "Found key 2 with value: " << myMap[2] << std::endl;
}
myMap.erase(3);
std::cout << "Map size: " << myMap.size() << std::endl;
return 0;
}
The code above demonstrates how to insert, search, and remove elements using std::map, as well as how to iterate through all elements in the map.