
C++ STL
xuanyin235
稳住,我们能赢!!!
展开
-
C++ STL一一认识模板Template
C++模板Template通常有两种:函数模板、类模板一、函数模板:针对仅参数类型不同的函数函数模板格式:template 返回类型 函数名(参数列表){ 函数体}一般形式如下示例所示:template void swap(T& a, T& b){}二、类模板:针对仅数据类型和成员函数类型不同的类template class 类名{ ... };形式转载 2017-11-07 19:32:58 · 254 阅读 · 0 评论 -
C++ STL一一map存储小实例
map存储在xml文件中的体现是非常方便的,如下简单的xml文件实例结构/* xuanyin235 24 male*//* */代码存储实例如下://vector_map.h#include #include #include #include using namespace std;typedef struc原创 2017-12-06 17:17:48 · 671 阅读 · 0 评论 -
C++ STL一一map和multimap
一、特点1.采用键值对做元素,可根据key的排序准则进行排序2.multimap允许元素重复,map不允许3.不可以直接改变元素的key,因为这会破坏正确次序,要修改key,可以先移除该key的元素,再添加该key的元素,从迭代器的观点来看,key是常数。value可以直接修改,前提是value并非常数型态二、构造和析构map c //产生一个空的map/multimap,其中原创 2017-11-13 17:47:25 · 386 阅读 · 0 评论 -
C++ STL一一迭代器
迭代器是一种“能够遍历某个序列内所有元素”的对象。一、分类1.输入迭代器2.输出迭代器3.前向迭代器4.双向迭代器5.随机存取迭代器有关迭代器的相关介绍,可以参考一篇文章,感谢原作者的总结及分享。http://lib.youkuaiyun.com/article/cplusplus/25890转载 2017-11-14 09:10:42 · 231 阅读 · 0 评论 -
C++ STL一一迭代器相关辅助函数(advance()、distance()、iter_swap())
一、advance()可令迭代器前进#include void advance(InputIterator& pos,Dist n);说明:(1).使名为pos的Input迭代器步进(或步退)n个元素(2).对bidirectional迭代器和Random Access迭代器而言,n可为负值,表示向后退。(3).Dist是个template型别,通常是个整数型别。(4).ad原创 2017-11-14 09:54:41 · 7139 阅读 · 0 评论 -
C++ STL一一set和multiset
一、特点set和multiset会根据特定的排序准则,自动将元素排序。两者不同之处在于multiset允许元素重复而set不允许。二、构造和析构set c //产生一个空的set/multiset,其中不含任何元素set c(op) //以op为排序准则,产生一个空的set/multisetset c1(c2) //产生某个set/multiset的副本,所有元素均被复制set原创 2017-11-10 16:27:05 · 304 阅读 · 0 评论 -
C++ STL一一list
一、list特点优点:任何位置上执行元素的安插或删除都非常快。缺点:不支持随机存取,所以既不支持下标操作符,也不提供at()list并未提供容量、空间重新分配等相关操作,因为全无必要,每个元素都有自己的内存,在被删除之前一直有效。二、list的构造和析构list c; //产生一个空list,其中没有任何元素 list c1(c2); //产生另一个同原创 2017-11-09 20:21:03 · 391 阅读 · 0 评论 -
C++ STL一一deque
一、deque特点优点:两端都能快速安插和移除元素缺点:在中间部分安插、移除元素相对较慢二、deque的构造和析构deque c; //产生一个空deque,其中没有任何元素 deque c1(c2); //产生另一个同型deque的副本(所有元素都被拷贝) deque c(n); //利用元素的default构造函数产生一个大小为n的d原创 2017-11-09 17:55:26 · 210 阅读 · 0 评论 -
C++ STL一一vector
一、vector特点优点:支持随机存取,方便在末端添加或删除元素。缺点:在前端或中部安插、删除元素性能就不怎么好。二、vector构造和析构vector c; //产生一个空vector,其中没有任何元素vector c1(c2); //产生另一个同型vector的副本(所有元素都被拷贝)vector c(n); //利用元素的default构造函数产生一个大小为n的ve原创 2017-11-09 17:26:45 · 256 阅读 · 0 评论 -
C++ STL一一Class auto_ptr
一、auto_ptr设计动机 auto_ptr智能型指针,主要用来处理显示开辟内存(new),而忽略释放内存(delete)或程序抛出异常内存得不到释放的情况。该指针保证在任何情形下,只要自己被摧毁,就一定连带释放其所指资源。例如,一般new一个对象,我们这么处理:ClassA *ptr = new ClassA;后续使用,一定要记得释放deletedelete ptr原创 2017-11-09 14:48:17 · 291 阅读 · 0 评论 -
C++ STL一一迭代器配接器
一、reverse(逆向)迭代器rbegin()传回逆向遍历的第一元素位置,也就是实际上最后一个元素的位置rend()传回逆向遍历时最后一个元素的下一位置,也就是实际上第一元素的前一个位置。#include #include #include using namespace std;int main(){ vector coll; // insert el原创 2017-11-14 14:45:12 · 349 阅读 · 0 评论