
STL
坤昱
这个作者很懒,什么都没留下…
展开
-
STL之双向循环链表(List)的内部关系
/* *简单的list双向链表结构关系 * *李坤昱 *326087275@qq.com * * *从简单到复杂的学习之路 */ #include <stdio.h> template<typename T> class listnode//观摩linux源码 listnode作为基类,T类 data放置在其派生类中,本例子没做其派生类 { public: listnode<T>* prior;//原创 2016-12-29 22:12:22 · 3411 阅读 · 0 评论 -
STL之Map完整(Linux内核)内部实现
刚开始接触Map的时候,了解到Map采用映射的方式储存数据,为了满足自己的好奇心,自己参考相关书籍,并且调试Linux系统的Map源码,成功完成了Map完整代码的封装。总体来说Windows系统Map与Linux系统Map采用了相同的实现思路,只是实现细节有点较小的差异。 同样采用相同的数据结构红黑树做为Map内核链表绑定数据的存储路线(代码内部有Window、Linux系统红黑树相关的实现原创 2017-01-18 21:07:30 · 4606 阅读 · 2 评论 -
STL之Vector(Linux内核)完整实现
自上次写了map之后对Vector比较感兴趣,由于对Vector理解不是很深刻,利用业余时间从Linux系统中拷贝出完整的Vector代码进行学习参考,并对一部分做了修改可以在Windows系统运行。 下面简单介绍下Vector的实现方式: 1.Vector的内存分配方式采用了标准STL的一贯做法——每增加一个节点动态分配一个节点需要的内存;。 2.Vector分配的内存是原创 2017-04-14 22:15:01 · 2910 阅读 · 0 评论 -
模板共享指针(shared_ptr)原理实现
最近在书中看到关于智能指针的描述,由于之前没有使用过智能指针,便通过调试源代码(源代码的实现有点杂乱,并不能以最简单直观的方式呈现)了解原理后,以简单直接的方式写了一个shared_ptr指针类。关于shared_ptr指针的几点介绍: 1.共享指针在拷贝函数中拷贝已有的指针对象参数地址达到共享数据(简单的说就是一块类对象地址由多个指针同时指向并且使用); 2.共享指针内部通过计数形原创 2020-02-15 12:53:45 · 4762 阅读 · 1 评论