ОБНОВЛЕНИЕ: с C ++ 11 и далее вы можете ...
std::map<int, int> my_map{ {1, 5}, {2, 15}, {-3, 17} };
... или подобное, где каждая пара значений - например, {1, 5}
- кодирует ключ - 1
-и сопоставленное значение - 5
.То же самое работает и для unordered_map
(версия хеш-таблицы).
Используя только стандартные процедуры C ++ 03, рассмотрим:
#include <iostream>
#include <map>
typedef std::map<int, std::string> Map;
const Map::value_type x[] = { std::make_pair(3, "three"),
std::make_pair(6, "six"),
std::make_pair(-2, "minus two"),
std::make_pair(4, "four") };
const Map m(x, x + sizeof x / sizeof x[0]);
int main()
{
// print it out to show it works...
for (Map::const_iterator i = m.begin();
i != m.end(); ++i)
std::cout << i->first << " -> " << i->second << '\n';
}