C++ 将信息从2d矢量传输到地图的最快方式是什么?

C++ 将信息从2d矢量传输到地图的最快方式是什么?,c++,dictionary,vector,C++,Dictionary,Vector,所以我有一个2d向量向量映射标记; 用于(自动和验证:输入){ 如果(v.size()>1){ 标记[v[0]=vector(v.begin()+1,v.end());//从第二个索引开始创建新的向量副本。 } } 您需要一个循环来实现这一点,编写它是非常困难的obvious@BasileStarynkevitch是的,我尝试使用循环并像for(inti…){for(intj…){token[tokensArray[I][0]={tokensArray[I][j]};}当我这样做时,我得到了一个

所以我有一个2d向量
向量
映射标记;
用于(自动和验证:输入){
如果(v.size()>1){
标记[v[0]=vector(v.begin()+1,v.end());//从第二个索引开始创建新的向量副本。
}
}

您需要一个循环来实现这一点,编写它是非常困难的obvious@BasileStarynkevitch是的,我尝试使用循环并像
for(inti…){for(intj…){token[tokensArray[I][0]={tokensArray[I][j]};}
当我这样做时,我得到了一个错误:向量下标不正确range@Low_level_dir这意味着
i
j
大于正在索引的向量的大小。请确保内部for循环具有停止条件:
j
@bnaecker确实如此!但它给了我那个错误。我尝试了很多方法,但它仍然给了我错误that@Low_level_dir如果您正在为(int j=0;j
在内部for循环中,则应该可以。因此,代码中可能存在其他错误。请添加您尝试的确切代码来编辑您的问题。
vector<vector<string> tokensArray = { {"hello", "person", "word"} {"bye", "people", "sentence"} }
map<string, vector<string>> tokens;
tokens["hello"] = {"person", "word"};
tokens["bye"] = {"people", "sentence"};
        map<string, vector<string>> tokens;
    for (auto &v : input) {
        if (v.size() > 1) {
            tokens[v[0]] = vector<string>(v.begin() + 1, v.end()); // Create a new vector copy starting from second index.
        }
    }