首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

map出现了一个有关问题

2012-06-22 
map出现了一个问题C/C++ code#include string#include iostream#include map#include utilityusin

map出现了一个问题

C/C++ code
#include <string>#include <iostream>#include <map>#include <utility>using namespace std;int main(){    map<string,int> firstMap;    map<string,int> secondMap;    firstMap["one"]=1;    firstMap["two"]=2;    map<string,int>::iterator i=firstMap.begin();    for(i;i!=firstMap.end();++i){        secondMap[i->first]=i->second;    //    cout<<i->first<<i->second<<endl;    }    map<string,int>::iterator n=secondMap.begin();    for(n;n!=firstMap.end();++n){        cout <<n->first <<n->second;    }}


上面是一段代码,会出现这种情况

请问这是什么情况造成的呢?而且,最终输入的值是正确的....!!



[解决办法]
C/C++ code
#include <string>#include <iostream>#include <map>#include <utility>using namespace std;int main(){    map<string,int> firstMap;    map<string,int> secondMap;    firstMap["one"]=1;    firstMap["two"]=2;    map<string,int>::iterator i=firstMap.begin();    for(i;i!=firstMap.end();++i){        secondMap[i->first]=i->second;    //    cout<<i->first<<i->second<<endl;    }    map<string,int>::iterator n=secondMap.begin();    for(n;n!=firstMap.end();++n){ //这儿改成 n != secondMap.end()        cout <<n->first <<n->second;    }}
[解决办法]
map<string,int>::iterator n=secondMap.begin();
for(n;n!=firstMap.end();++n){
cout <<n->first <<n->second;
}

热点排行