带向量的C ++ 2d unordered_map

时间:2012-10-24 21:46:08

标签: c++ vector 2d unordered-map

我来自PHP我会做什么

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

对于2d关联数组,其中第一个键是字符串,第二个是整数,值也是整数。我尝试用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 个答案:

答案 0 :(得分:1)

vector<int,int>不正确(vector不是关联容器),您可能需要嵌套unordered_map<int>。所以:

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