std::map find和count用法说明

Map:

在使用标准模板库中的map容器且遇到键值对的值为自定义struct或class类型时,考虑到特殊场景(即不能确保key自始至终唯一),若插入新元素(new 对象),在程序执行结束释放内存时会造成内存泄露(重复的key对应的value所申请的内存空间)。
  因此在插入新元素前需要判断key是否已经存在,若存在则考虑删除之前的键值后再进行新元素的插入,或者直接忽略此次插入操作。此时可以使用find及count函数进行判断,find(x)功能是在map中搜索键为x的元素,若找到则返回迭代器(位置),否则返回迭代器为map::end(即容器末尾元素);count(x)功能是在map中搜索键为x的元素,并返回具有该键的元素个数,因为map容器不允许重复键,函数实际上只返回0或1

效率上来讲:find函数比count执行时间短。

posted @ 2022-09-08 11:21  VarForrest  阅读(535)  评论(0编辑  收藏  举报