C++ map应用之insert方法

直接上代码,两种方式:

map m_map;

  1. m_map.insert(map::value_type("hello",5));
  2. m_map.insert(make_pair("hello",5));

也就是说,insert后面的数据是pair类型或者是value_type类型了,然而对C++有了解的人都明白,其实value_type和pair是等价的、insert()中的参数必须是value_type类型,那么为什么insert()中的参数能够使用make_pair产生的pair呢?

其实,因为我们在加入pair时的k已经是常量了,所以可以加入。。。而正常来讲这都是所有编译器所能接受的。

在insert插入的同时,还有返回值来说明是否插入成功,就是pair< map::iterator,bool> >类型,如本实例pair< map::iterator,bool> > rent= m_map.insert(make_pair("hello",5));

rent->second即是成功与否的标志;rent->first就是返回的map::iterator迭代器;rent->first.first就是string类型的数据。

这些看起来都非常的麻烦,但是只要信心的研究、编译、调试就可以了。

你可能感兴趣的:(Cpp)