C ++ 2d unordered_map с вектором

я иду из PHP, где я бы сделал

$um['Im a string'][1] = 3;

для двумерного ассоциативного массива, где первый ключ — строка, второй — целое число, а значение также является целым числом. Я пытаюсь сделать то же самое в C ++. вот моя попытка:

// experiment.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"#include <unordered_map>
#include <vector>
#include <string>

using std::vector;
using std::string;
using std::unordered_map;

int _tmain(int argc, _TCHAR* argv[])
{

unordered_map <string,vector<int,int>> um;

um["Im a string"][1] = 3;
printf("Out: %d", um["Im a string"][1]);
return 0;
}

очевидно, это не правильный синтаксис;

1

Решение

vector<int,int> не правильно (vector не ассоциативный контейнер), вы, вероятно, хотите вложенный unordered_map<int>, Так:

unordered_map <string,unordered_map<int,int>> um;
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]