STL自学笔记
hongtao45
菜鸡自啄
展开
-
如何选择STL容器
C++标准程序库提供了各种各具特性的不同容器如何选择最佳的容器类别?如果需要处理的元素很少。可以忽略时间复杂度,因为线性算法对元素的处理是比较快。此时“线性复杂度搭配快速的元素处理”要比“对数复杂度搭配较慢的元素处理”来的划算。缺省情况下使用vector。vector的累不结构最简单,且支持随机存取,所以数据的存取十分方便灵活,数据的处理也够快。如果经常在序列的头部和尾部安插和溢出元...原创 2018-10-06 19:47:20 · 284 阅读 · 0 评论 -
适配函数,打印,STL容器
使用模板函数,来适配所有的容器,输出其中的元素。支持vector,list, deque, set, map, string, List item输出元素template <class T>void print_elements(const T& coll , const char* optstr=""){ typename T::const const_...原创 2018-10-06 20:18:07 · 177 阅读 · 0 评论 -
map 删除和替换元素时需要注意的细节
map:映射std::map &amp;amp;lt;key,value&amp;amp;gt; c;c[key];返回一个引用,指向键值为key的元素,但如果元素不存在,就安插该元素对于这一点,应该注意,不过有应该注意的地方,就是可能出错的地方,这就代表需要改进。但是这样设计,有利有弊1:可以直接使用下标索引来直接插入元素,2:如果不小心输错键值,且键值不存在在map里面,就会直接插入一个新的元素,而不会报错,...原创 2018-09-28 23:16:26 · 3657 阅读 · 0 评论 -
c++预定义的函数
C++标准程序库库提供的预定义的仿函数要使用这些仿函数,必须包括头文件 &amp;amp;amp;amp;amp;amp;amp;amp;amp;lt; functional &amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;#include &amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;functional&amp;amp;amp;amp;amp;amp;amp;am原创 2018-09-29 19:26:59 · 2236 阅读 · 0 评论 -
c++函数配接器
所谓的“函数配接器”是指可以把仿函数和另一个仿函数(或某个值,或某个一般函数)结合起来的仿函数。函数配接器也定义在头文件&amp;lt; functional&amp;gt;中。#include &amp;lt;functional&amp;gt;例如:finf_if(coll.begin() , coll.end() , //range bind2nd(reater&amp;lt;int&a原创 2018-09-29 19:51:06 · 880 阅读 · 0 评论