map下标操作和insert区别

map的insert和下标操作都可以用作添加元素,但两者有区别。特别是下标操作,需要特别注意。

1insert

insert接受一个pair参数,并且返回值也是一个pair。

返回值pair中的first元素是一个迭代器,如果数据插入成功,则返回插入关键字位置,用->解引用可以提取pair类型元素。

second成员是一个bool类型变量,如果关键字已在map中,insert什么也不做,second返回false,插入失败;如果关键字不存在,元素被插入,second返回true.即:

insert 含义是:如果key存在,则插入失败,如果key不存在,就创建这个key-value。实例: map.insert((key, value))

2下标操作

利用下标操作的含义是:如果这个key存在,就更新value;如果key不存在,就创建这个key-value对 实例:map[key] = value

原文地址:https://www.cnblogs.com/zhubaohua-bupt/p/7182798.html