std::map的insert和下标[]操作区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了std::map的insert和下标[]操作区别相关的知识,希望对你有一定的参考价值。

参考技术A insert 和下标操作都可以用来添加元素,但是两者也有区别。

insert 接受一个 pair 参数,并且返回一个 pair ,以 std::map<int, int> 为例,其返回值是一个 std::pair<std::map<int, int>::iterator, bool > ,如果数据插入成功( key 不存在)则返回的迭代器 second 为 true 且 first 返回插入元素的迭代器,如果数据插入失败( key 存在)则返回的迭代器 second 为 false 。

如果 key 不存在就创建这个 KV 实例,否则就更新 value 。

以上是关于std::map的insert和下标[]操作区别的主要内容,如果未能解决你的问题,请参考以下文章

C++代码中map的find函数问题

std :: unordered_map向量下标超出范围

如何优化 std::map insert() 函数?

C++ std::map 和 std::unordered_map 区别 时间复杂度 适用

C++ std::map 和 std::vector 的优点? [关闭]

std::multimap<key, value> 和 std::map<key, std::set<value> 有啥区别?