1

我来自我会做的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;
}

显然它的语法不正确;

4

1 回答 1

2

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

unordered_map <string,unordered_map<int,int>> um;
于 2012-10-24T21:49:06.417 回答