Welcome! Today, we're diving into C++ maps. These store items as key-value pairs, much like a dictionary where you look up a word (key) to find its meaning (value). By the end of this lesson, you’ll have a good grasp of maps in C++.
Maps in C++ are collections of key-value pairs. This method differentiates them from arrays and vectors, which store elements in a linear order. std::map stores elements in a sorted order by key.
Here's a simple map, where names are keys and ages are values:
In map_example, the keys are "Alice," "Bob," and "Charlie," and the values are 25, 28, and 30, respectively. Key uniqueness is integral to the design of maps — for example, that means we can only have a single key called "Alice".
Maps are initiated by placing key-value pairs within {} using the initialization list.
Keys and values can be of different data types. Here, our key is string, and a value is int. However, they can also be of the same data type. For example:
This map has an integer key and an integer value.
Unlike arrays, maps are collections of items accessed by their keys, not by their positions.
Here, using the "Alice" key, we access the corresponding value. Keys serve as a special indexing system here.
C++ maps are mutable, meaning we can add, modify, or delete elements.
We can add a new key-value pair like this:
Alternatively, we can use the insert() method to add a new key-value pair:
