我可以创建地图>?
问题描述:
我的问题是我需要创建这个映射结构,所以我可以存储2个普通字符串和2个管道fd的int数组。我可以创建地图<string,map <string,int [2]>>?
代码我有是:
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]到一对或地图的东西。 感谢您的意见。
答
你可以定义一个结构&用它代替int[2]
struct pipefd {
int fdin;
int fdout;
};
+0
谢谢,这会帮助我:) –
答
你可以使用std ::对
map <string, map<string, pair<int,int> > > tempMap;
它不会工作。但你可以使用'std :: array'而不是普通数组。 –
juanchopanza
这会让你的事情变得复杂。你为什么不创建一个你想要的所有类,并将指针存储在map/vector中? –
谢谢你们,你是对的! –