C++ equivalent of Python dictionaries

The closest match in C++ would be an std::unordered_map<int, int>. This is a hash table mapping int keys to int values.

#include <unordered_map>


std::unordered_map<int, int> RANKS = {
        { 4, 3 },
        { 0, 2 }, { 2, 2 }, { 6, 2 }, { 8, 2 },
        { 1, 1 }, { 3, 1 }, { 5, 1 }, { 7, 1 }
};

You can access elements using operator[], for example

std::cout << RANKS[0] << std::endl; // prints "2"

Note that the C++ standard library also has the std::map class template, which allows you to create a similar but ordered look-up table std::map<int, int>, with logarithmic look-up and insertion complexity. But python dicts are hash tables, so unordered_map is a closer match in terms of behaviour.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)