STL/C++
Evillla
努力做一个可爱的程序员
展开
-
STL源码剖析学习-体系结构与内核分析-1
分配器(allocator)简说容器(Container)的背后需要分配器(allocator)支持对内存的使用和操作,但写程序时最好不要直接使用分配器,直接使用容器或者New/delete即可。下述是容器源码中隐藏使用的分配器代码,在使用容器的时候我们不需要显示调用分配器。通过源码也可以看出,在类模板中,分配器这个参数是缺省提供的。下述分配器的源码应该是GNUC的编译版本,VC中不一定适...原创 2019-05-07 15:41:15 · 344 阅读 · 0 评论 -
STL源码剖析学习-深度探索list
list的部分源码如右图的中间方框所示:一个关键的地方是,list是一个模板类,这个类的数据成员只有一个,那就是 link_type node; 那么link_type是什么呢? 向上看, typedef list_node* link_type; link_type是一个指针,指向了list_node的对象。既然link_type是一个指针,那么指针的大小在32位操作系统是4个字节,因此...原创 2019-05-07 22:11:16 · 319 阅读 · 0 评论 -
Leetcode 50: Pow(x,n) 快速幂初探
题目描述:实现 pow(x, n) ,即计算 x 的 n 次幂函数。示例 1:输入: 2.00000, 10 输出: 1024.00000示例 2:输入: 2.10000, 3 输出: 9.26100示例 3:输入: 2.00000, -2 输出: 0.25000如何用快速幂求a^10呢?假如我们现在知道了a^5的值,那么a的10次方只需要用 a的5次方乘以a的5...原创 2019-05-27 21:35:34 · 196 阅读 · 0 评论 -
STL源码剖析学习-深度探索Vector
补充知识:Iterator traits 萃取机Iterator是算法和容器之间的桥梁,算法在操作容器元素的过程中,需要了解Iterator,以便采取最佳的操作方式。算法常常会问迭代器的五种属性:1、iterator_category 迭代器的分类 (iterator支持++、–、随机跳跃?)2、iterator_difference_type 两个迭代器之间的距离应该用什么的表达。3...原创 2019-05-23 16:17:07 · 436 阅读 · 0 评论 -
STL源码剖析学习-深度探索Deque
暂null原创 2019-06-06 16:19:42 · 185 阅读 · 0 评论