STL
qq285966121
哈哈哈
展开
-
STL空间配置器
STL空间配置器空间配置器在STL中,STL的空间配置器是一个名为allocator的模板类,allocator有几个重要个接口,分别为allocator::allocate(),allocator::deallocate(),allocator::construct(),allocator::destroy()。 上述所说的allocator只是基层内存配置/释放行为(也就是::operator原创 2017-07-16 16:09:43 · 255 阅读 · 0 评论 -
STL之deque
deque概述deque是一种双向的连续性空间。所谓双向开口,意思是可以在头尾两端分别做元素的插入操作。 deque采用一块所谓的map作为主控。这里的所谓map是一块连续空间,其中每个元素都是指针,指向另一段(较大)连续空间,称为缓冲区,缓冲区才是deque的储存空间主体。template<class T,class Alloc=alloc,size_t Buffsiz=0> class d原创 2017-07-31 12:30:44 · 279 阅读 · 0 评论 -
STL之vector
STL之vectorvector的数据以及操作方式,与array非常相似。但是array是静态空间,一旦配置了就不能改变;而vector是动态空间,随着元素的加入,它的内部机制会自行扩充空间以容纳新元素,因此vector的运用对于内存的合理使用与运用的灵活性有很大的帮助。vector的迭代器vector维护的是一个连续线性空间,所以不论其元素为何,普通指针都可以作为vector的迭代器而满足所有的要原创 2017-07-22 15:24:40 · 223 阅读 · 0 评论 -
STL迭代器
STL迭代器迭代器是一种行为类似指针的对象,而指针的各种行为中最重要的便是内容提领和成员访问,因此,迭代器最重要的编程工作就是对operator* 和operator->进行,下面以find函数为例: template <class InputIterator,typename T> InputIterator find(InputIterator fitst,InputIterato原创 2017-07-17 14:11:59 · 161 阅读 · 0 评论 -
STL之list
STL的List节点STL的List节点结构如下struct node{ T data; node *prev; node *next; list<T> *container; };显然是List是一个双向链表。STL的List迭代器list不再像vector一样能以普通指针当做迭代器,因为其节点原创 2017-07-29 10:08:47 · 282 阅读 · 0 评论