我来自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;
}
显然它不是正确的语法;
答案 0 :(得分:1)
vector<int,int>
不正确(vector
不是关联容器),您可能需要嵌套unordered_map<int>
。所以:
unordered_map <string,unordered_map<int,int>> um;