- 博客(4)
- 资源 (14)
- 收藏
- 关注
原创 自己的底层代码库(十一)——容器类基类
今天放上容器类的基类TContainer1、以下4个接口需要子类实现初始化\清空容器 virtual void Init(ContainerFlag dwLock) = 0;获取该容器中第一个T对象 virtual T *GetHead() = 0;获取该容器中curr的下一个T对象 virtual T *GetNext(T *curr) = 0;获取链表中c
2013-04-23 16:08:24 965
原创 自己的底层代码库(十)——迭代器
今天放上一个迭代器的实现主要解决一个问题:在多线程的环境下,保证各个迭代的完整性。1、多个线程在对同一个容器进行迭代,互不影响(容器自己有锁)2、若要迭代的下一个对象被移走,迭代器要可以正确的后移,指向再下一个要迭代的对象3、被迭代出来的当前对象被移走或释放,这个需要另外的措施保证(比如智能指针),迭代器不作处理4、已经被迭代过的对象序列中新插入了对象,本次迭代
2013-04-22 12:04:38 838
原创 自己的底层代码库(九)——插入式的双链表
之前发过一个 非插入式的这里之所以再发一个插入式的,是为了后面实现一个迭代器准备的将迭代器注册给容器的时候,容器里面单独用了这样一个双链表来管理所有在该容器上注册的迭代器又因为双链表本身就是容器的一种,出现了容器里面有容器的情况又不想用指针,指针意味着需要另行分配内存所以另外再实现了一个双链表,只用来管理容器上所有注册的迭代器至于链表的插入删除这种操作,跟之
2013-04-18 16:56:04 833
原创 自己的底层代码库(八)——获取函数调用堆栈
今天放上一个工具类,用来获取当前线程/所有线程的当前函数调用堆栈主要是为了方便用于在打log时,可以将调用堆栈一起输出到文件当中PS:想打出正确的log是依赖于PDB文件的类似于VS的向output窗口输出$CALLSTACK主要用了dbghelp的一些API参考了:http://www.cnblogs.com/zplutor/archive/2011/04/2
2013-04-03 16:17:19 6370 5
MiniProto2.0
2018-06-06
Xml读取代码自动生成工具
2018-01-18
Csv读取代码自动生成工具(2.0)
2018-01-15
MiniProto1.0
2017-06-25
Csv读取代码自动生成工具
2017-01-09
黑白棋(win32实现)
2014-08-06
Apache内存池内幕
2012-11-27
PC游戏编程人机博弈
2010-03-05
tc图形函数详解
2008-02-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人