当前位置:  开发笔记 > 编程语言 > 正文

如何使用地图矢量

如何解决《如何使用地图矢量》经验,为你挑选了2个好方法。

为了解决您的问题,您应该这样做:

for(it = dictionary.begin(); it != dictionary.end(); it++){
    for(auto it1=it->begin();it1!=it->end();++it1){
        cout << it1->first << " " << it->second << endl; 
    }
}

但是,我认为设计存在问题。在你的情况,你不需要做vectormap小号......你需要vectorpairS或只是一个map

对向量:

std::vector > dictionary;
dictionary.emplace_back("UNREAL","Abc");
dictionary.emplace_back("PROPS","Efg");
for(auto const& item:dictionary){
    std::cout << item.first << " " << item.second;
}

地图:

 std::map dictionary;
 dictionary.insert("UNREAL","Abc");//also :  dictionary["UNREAL"]="Abc";
 dictionary.insert("PROPS","Efg");//also :  dictionary["PROPS"]="Efg";
 for(auto const& item:dictionary){
     std::cout << item.first << " " << item.second;
 }

因为map不仅仅是一对东西,所以它是一对对(有点不准确)。



1> xaxxon..:
// i is each map in your vector
for (auto i : dictionary) {
    // j is each std::pair in each map
    for (auto j : i) {
      // these are the two strings in each pair
      j.first; j.second;
  } 
}

这个答案需要c ++ 11,但是现在几乎所有东西都支持.



2> Humam Helfaw..:

为了解决您的问题,您应该这样做:

for(it = dictionary.begin(); it != dictionary.end(); it++){
    for(auto it1=it->begin();it1!=it->end();++it1){
        cout << it1->first << " " << it->second << endl; 
    }
}

但是,我认为设计存在问题。在你的情况,你不需要做vectormap小号......你需要vectorpairS或只是一个map

对向量:

std::vector > dictionary;
dictionary.emplace_back("UNREAL","Abc");
dictionary.emplace_back("PROPS","Efg");
for(auto const& item:dictionary){
    std::cout << item.first << " " << item.second;
}

地图:

 std::map dictionary;
 dictionary.insert("UNREAL","Abc");//also :  dictionary["UNREAL"]="Abc";
 dictionary.insert("PROPS","Efg");//also :  dictionary["PROPS"]="Efg";
 for(auto const& item:dictionary){
     std::cout << item.first << " " << item.second;
 }

因为map不仅仅是一对东西,所以它是一对对(有点不准确)。

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有