![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL源码剖析
文章平均质量分 79
yudejiao
这个作者很懒,什么都没留下…
展开
-
SGI特殊空间配置器std::alloc
alloc不接受任何template类型参数,它只是一个别名。 另外,new对象操作实际执行两个过程: 1>调用::operator new 配置内存。 2>调用相应的构造函数,构造对象。 delete对象也执行两个过程: 1> 调用响应的析构函数,析构对象。 2> 调用::operator delete 释放内存。 为了精密分工,STL allocator将 两个过程分开处理,配置原创 2017-06-16 17:28:15 · 333 阅读 · 0 评论 -
迭代器(iterators)与traits编程技巧
1 迭代器基础 迭代器(iterator):在不暴露容器内部的前提下,能依序访问容器的每个元素。 迭代器是STL的关键,STL的中心思想是:将容器与算法分开,彼此独立,然后用粘合剂进行关联,迭代器就是这个粘合剂。 同过平时对STL的应用可以发现,每个容器都有自己的迭代器,例如:vector::iterator ;list::iterator等,迭代器总是依附于容器的。为了将实现细节封原创 2017-06-17 17:28:06 · 535 阅读 · 0 评论 -
STL顺序容器vector与list
1 vector vector与array的区别在于,空间运用的灵活性不同。array是静态空间,大小不能动态改变。vectro则不同,vector随着元素的增加,空间也会不断增加,用户不需要空间怎么增加。 vector的关键在于:对大小的控制以及重新配置内存时,数据移动的效率问题。 vector迭代器用的是Random Access Iterators。vector的迭代器就是普通原创 2017-06-19 11:57:18 · 326 阅读 · 0 评论 -
STL控件配置器allocator
1.自定义控件配置器 #ifndef _JJALLOC_ #define _JJALLOC_ #include //for placement new (定位new) #include //for ptrdif_t,size_t #include //for exit() #include // for UNIT_MAX #include原创 2017-06-15 17:33:14 · 256 阅读 · 0 评论