2015-12-13 4 views
0

Я хочу, чтобы сделать карту, что есть ключи, как целое, как 0,1,2,3 и каждая из значений ключей, чтобы быть переменный массив целых чисел, пусть говоритКарты <Int, int*> в C++

map[0] = {0,1,2}; 
map[1] = {0,1,2,3,4}; 

как добиться этого в C++

+4

C++ не имеют массивы переменной длины, но она имеет 'зЬй :: VECTOR'. Поэтому используйте их вместо этого. – juanchopanza

+1

Если ваши ключи смежны от '0', вы можете использовать' vector' вместо 'map' – Jarod42

ответ

3

Вы хотите <map> и <vector>:

std::map<int, std::vector<int>> m; 

m[0] = {0, 1, 2}; 
m[1] = {0, 1, 2, 3, 4}; 
+0

[demo] (https://ideone.com/mQq3vJ) –

+0

спасибо вам много! – hariszaman

+0

@hariszaman: Нет проблем. Замечание Jarod42 выше полезно; если ваши ключи последовательно начинаются с 0, то вектор векторов более эффективен, чем карта векторов. –

Смежные вопросы