-1
所以我有一个2D矢量vector<vector<string> tokensArray;
,我想把它的每个元素放到地图上:map<string, vector<string>> tokens;
。这样做最快的方法是什么?我希望它是map<*string*, vector<string>>
的字符串是tokensArray[any number][0]
的位置,map <string, *vector<string*>>
的位置是由tokensArray[any number][1, 2, 3, etc]
组成的。将信息从2d矢量传送到地图的最快方法是什么?
因此,如果向量是:
vector<vector<string> tokensArray = { {"hello", "person", "word"} {"bye", "people", "sentence"} }
地图应该是这样的:
map<string, vector<string>> tokens;
tokens["hello"] = {"person", "word"};
tokens["bye"] = {"people", "sentence"};
你需要为一个循环,并写很明显 –
@BasileStarynkevitch雅我试着使用循环并将它们赋值为'for(int i .....){(int j ....){ token [tokensArray [i] [0]] = {tokensArray [i] [j] }; } 当我这样做时,我得到一个错误:向量下标超出范围 –
@Low_level_dir这意味着无论是'i'还是'j'都大于您正在索引的向量的大小。确保你的内部for循环有一个停止条件:'j
bnaecker