Artigo original: C++ Map Explained with Examples
Traduzido e adaptado por: Daniel Rosa

map é um contêiner que armazena elementos em pares chave-valor. Ele é semelhante às collections em Java, aos arrays associativos em PHP, ou aos objetos em JavaScript.

Aqui temos os benefícios principais do uso de map:

  • map armazena apenas chaves exclusivas. Essas chaves são armazenadas de maneira ordenada
  • Como as chaves já estão ordenadas, procurar por um elemento é muito rápido
  • Existe apenas um valor para cada chave

Aqui temos um exemplo:

#include <iostream>
#include <map>

using namespace std;

int main (){
  map<char,int> first;
  
  //initializing
  first['a']=10;
  first['b']=20;
  first['c']=30;
  first['d']=40;
  
   map<char, int>::iterator it;
   for(it=first.begin(); it!=first.end(); ++it){
      cout << it->first << " => " << it->second << '\n';
   }
   
  return 0;
}

Resultado:

a => 10
b => 20
c => 30
d => 40

Criação de um objeto map

map<string, int> myMap;

Inserção

A inserção de dados com a função insert.

myMap.insert(make_pair("earth", 1));
myMap.insert(make_pair("moon", 2));

Também podemos inserir dados em std::map usando o operador [], ou seja

myMap["sun"] = 3;

Acesso aos elementos de map

Para acessar os elementos de map, você precisa criar um iterator. Aqui temos um exemplo, como mostramos acima.

map<char, int>::iterator it;
for(it=first.begin(); it!=first.end(); ++it){
  cout << it->first << " => " << it->second << '\n';
}