STL
文章平均质量分 78
zuiyuezhou888
这个作者很懒,什么都没留下…
展开
-
STL vector用法总结
1、vector的动态增长 2、反向遍历 3.释放vector内存 4、算法原创 2017-04-30 23:06:56 · 524 阅读 · 0 评论 -
vector 迭代器失效
stl 迭代器失效原创 2017-05-01 17:29:51 · 467 阅读 · 0 评论 -
list基础知识
1、list是一个双向链表,对于任何位置的元素的插入和元素移除,list永远是常数时间 2、list有一个重要性质:插入操作和接合操作都不会造成原有list迭代器的失效,甚至list的元素的删除操作(erase),也只有“指向被删除元素”的那个指针失效,其他迭代器不受影响 3、算法中提供的sort()函数,不适用于list,list自己实现了sort int arr[] = {87,65,原创 2017-05-01 18:09:46 · 411 阅读 · 0 评论 -
c++STL常见面试题2
1.C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和set封装了二叉树等 2.标准关联容器set, multiset, map, multimap内部采用的就是一种非常高效的平衡检索二叉树:红黑树,也成转载 2017-05-05 20:59:47 · 1134 阅读 · 0 评论 -
C++STL常见面试题1
http://blog.csdn.NET/tianya_team/article/details/50753759 1.说说std::vector的底层(存储)机制。 vector就是一个动态数组,里面有一个指针指向一片连续的内存空间,当空间不够装下数据时,会自动申请另一片更大的空间(一般是增加当前容量的50%或100%),然后把原来的数据拷贝过去,接着释放原来的那片转载 2017-05-05 20:47:57 · 3775 阅读 · 0 评论 -
STL erase陷阱
阅读目录(Content) 1.list,set,map容器 1.1 正确写法11.2 正确写法21.3 错误写法11.4 错误写法21.5 分析 2. vector,deque容器 2.1 正确写法2.2 注意 3.迭代器失效的情况 3.1 vector3.2 deque3.3 list3.4 slist3.5 stack3.6 queue3.7 priority_q转载 2017-05-05 21:20:09 · 438 阅读 · 0 评论 -
STL算法之回调函数和函数对象的理解及设计
引言:在我们使用STL的算法的时候,很多算法提供回调函数为参数和函数对象来作为参数,提供 更加强大的功能。就比如STL中sort算法来说吧,我们可能一般情况下这么使用sort(v.begin(), v.end()); 这种情况下是对容器中元素默认升序排序。那么我们怎么实现降序排序呢?有两种方法,要么用库中提 供的函数对象作为参数,要么自己编写个函数或者函数对象来作为参数。那么问题来了,库中提转载 2017-05-06 16:41:00 · 504 阅读 · 0 评论 -
C++中typename和class的区别
在c++Template中很多地方都用到了typename与class这两个关键字,而且好像可以替换,是不是这两个关键字完全一样呢? 相信学习C++的人对class这个关键字都非常明白,class用于定义类,在模板引入c++后,最初定义模板的方法为: template...... 在 这里class关键字表明T是一个类型,后来为了避免class在这两个地方的使用可能给人带来混淆,所以引入了typ转载 2017-05-07 22:44:27 · 564 阅读 · 0 评论