一个有关map容器进行插入后产生的问题,?? 还望各位帮我找下原因!

xiangxuf 2008-10-26 11:43:59
#include <map>
#include <string>
#include <iostream>
using namespace std;
int main()
{
map<int, string> mapStudent;
mapStudent.insert(map<int,string>::value_type(1,"student_one")); //用insert函数插入value_type数据
mapStudent.insert(map<int,string>::value_type(2,"student_two"));
mapStudent.insert(map<int,string>::value_type(3,"student_three"));
map<int,string>::iterator iter;
for(iter=mapStudent.begin();iter!=mapStudent.end();iter++)
{
cout<<iter->first<<" "<<iter->second<<endl;

}
pair<map<int,string>::iterator,bool> insert_pair;
insert_pair=mapStudent.insert(map<int,string>::value_type(1,"student_one")); //检查插入是否成功。也就是这里出现问题,老是编译完出现fail!
if(insert_pair.second==true)
{
cout<<"insert success! "<<endl;
}
else
{
cout<<"insert fail!"<<endl;
}

return 0;
}
...全文
76 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiangxuf 2008-10-26
  • 打赏
  • 举报
回复
哦 对啊 都搞糊涂了。
xiangxuf 2008-10-26
  • 打赏
  • 举报
回复
那我应该怎样检查插入到底成功与否呢?
  • 打赏
  • 举报
回复
你给的key值已经存在了,所以插入失败
  • 打赏
  • 举报
回复
啥意思?
当有这个key的时候插入是失败的.
xiangxuf 2008-10-26
  • 打赏
  • 举报
回复
我想知道insert语句是否插入成功的问题了,所以用pair来获得是否插入成功,程序如下
pair<map<int, string>::iterator, bool> Insert_Pair;
Insert_Pair = mapStudent.insert(map<int, string>::value_type (1, “student_one”));
我们通过pair的第二个变量来知道是否插入成功,如果插入成功的话Insert_Pair.second应该是true的,否则为false。可是老是返回fail

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧