我可以创建map <string,map <string,int [2] =“”>&gt;?</string,map <string,>

时间:2013-10-16 16:43:51

标签: c++ dictionary insert pipe

我的问题是我需要创建这个地图结构,这样我就可以存储两个普通字符串和两个管道fd的int数组。

我的代码是:

map<string, map <string, int[2]> > fillEndPipes(Automata a){

map <string, map<string, int[2]> > tempMap;

vector <string> tempVector = a.getStates();
vector <string>::const_iterator it;
string name = a.getName();

for(it = tempVector.begin(); it != tempVector.end(); it++){
    int tuberia[2];
    pipe (tuberia);


    map<string, int[2]> innerMap;
    innerMap.insert(pair<string,int>((*it),(tuberia)));

    tempMap.insert(pair<string, map <string, int[2]> >(name,innerMap));


}

    return tempMap;
}

我没有找到将int [2]插入对或地图的方法。

2 个答案:

答案 0 :(得分:1)

你可以定义一个结构&amp;用它代替int[2]

struct pipefd {
    int fdin;
    int fdout;
};

答案 1 :(得分:0)

你可以使用std :: pair

 map <string, map<string, pair<int,int> > > tempMap;