本文主要是介绍c++ map之insert().second,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
map<string,int> m_map;
- m_map.insert(map<string,int>::value_type("hello",5));
- m_map.insert(make_pair("hello",5));
也就是说,insert后面的数据是pair类型或者是value_type类型了,然而对C++有了解的人都明白,其实value_type和pair<const k,v>是等价的、insert()中的参数必须是value_type类型,那么为什么insert()中的参数能够使用make_pair产生的pair<k,v>呢?
其实,因为我们在加入pair<k,v>时的k已经是常量了,所以可以加入。。。而正常来讲这都是所有编译器所能接受的。
在insert插入的同时,还有返回值来说明是否插入成功,就是pair< map<string,int>::iterator,bool> >类型,如本实例pair< map<string,int>::iterator,bool> > rent= m_map.insert(make_pair("hello",5));
rent->second即是成功与否的标志;rent->first就是返回的map<string,int>::iterator迭代器;rent->first.first就是string类型的数据。
这些看起来都非常的麻烦,但是只要信心的研究、编译、调试就可以了。
这篇关于c++ map之insert().second的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!