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