
STL容器和迭代器
四九城小白~阿勋
这个作者很懒,什么都没留下…
展开
-
STL库中的equal_range()
简介 equal_range 根据键值,返回一对迭代器的pair对象。如果该键值在容器中存在,则pair对象中的第一个迭代器指向该键关联的第一个实例,第二个迭代器指向该键关联的最后一个实例的下一位置。如果找不到匹配的元素,则pair对象中的两个迭代器都将指向此键应该插入的位置。总之,equal_range返回迭代器位置区间 [ lower_bound, upper_bound ) 举例 #include <iostream> #include <map> int main () {原创 2020-08-19 17:12:34 · 552 阅读 · 0 评论 -
c++ map中key为结构体
map中key为结构体 项目中需要将结构体作为hash的key,一开始用hash_map,但是结构体中多值比较一直失败,所以尝试了map。 hash_map 查找速度会比map快,而且查找速度基本和数据量大小无关,属于常数级别;而map的查找速度是log(n)级别。hash还有hash函数的耗时。当有100w条记录的时候,map也只需要20次的比较,200w也只需要21次的比较!所以并不一定常数就比log(n) 小。 hash_map对空间的要求要比map高很多,所以是以空间换时间的方法,而且,hash_m原创 2020-08-14 22:49:42 · 3350 阅读 · 0 评论 -
STL容器和迭代器(二)--Vector的实现原理剖析
Vector的实现原理剖析杂谈vector的实现原理以及实现机制实现机制:浮想联翩(问题):vector:向量API函数使用vector中的reserve和resize的比较我们先来看一下C++中对resize与reservede的表示:两者区别reserve与resize的相同点:C++之迭代器失效及解决解决迭代器失效的问题参考网址 杂谈 在学习C++的时候我们会接触两个库,一个是boost库,...原创 2020-01-02 19:04:12 · 605 阅读 · 0 评论