在做csapp的malloc实验,一开始是按照书上的隐式链表法,发现得分很低。这种方法确实很挫,需要遍历一遍以找到合适的空闲块。于是我想到《STL源码剖析》中stl的内存池,感觉应该可以用类似的方法做,因为malloc要做的事情实际就是为了防止内存碎片和减少系统调用,实际就是一个内存池。但是书上介绍 ...
分类:
其他好文 时间:
2016-05-01 19:15:06
阅读次数:
251
#ifndef _HJSTL_DEQUE_H_
#define _HJSTL_DEQUE_H_
/*
* Author:hujian
* Time:2016/4/28
* discription:this file is about deque structure.
*
*/
#include "hjstl_alloc.h"
#include "hjstl_construct.h...
分类:
其他好文 时间:
2016-04-29 15:55:19
阅读次数:
218
教你初步了解红黑树 作者:July、saturnman 2010年12月29日 作者:July、saturnman 2010年12月29日 本文参考:Google、算法导论、STL源码剖析、计算机程序设计艺术。 推荐阅读: 一、红黑树的介绍 先来看下算法导论对R-B Tree的介绍:红黑树,一种二叉 ...
分类:
其他好文 时间:
2016-04-18 22:03:45
阅读次数:
155
解释说明
traits侯捷老师的翻译是萃取。其目的就是在编译期进行模板调用的类型识别,从而做一些事情。
最突出的例子,我觉得不是《STL源码剖析》中“迭代器概念与traits编程技法"这一章的说明,而是stl算法中copy的实现。代码在stl源码的stl_algobase.h中。
copy的最终实现,大致分为两类,一类是直接整块内存的memmove操作,另一类是一个个对象赋值。其中涉及has...
分类:
其他好文 时间:
2016-03-14 18:56:33
阅读次数:
250
所有的STL容器,都保存一个或默认,或由用户提供的allocator的实例,用来提供对象内存分配和构造的方法(除了std::array),这样的容器,被称作Allocator Aware Container。早期的STL,设计的尚不完善,各种实现之间不能相互兼容,这一点在侯捷的《STL源码剖析》中有
分类:
其他好文 时间:
2016-03-06 15:32:13
阅读次数:
179
转:http://www.cnblogs.com/moondark/p/3436450.html 这两天略读完了《STL源码剖析》,之所以是略读,就是只看大体,不讲具现(这个词在《深度探析C++对象模型》中比较多) 已经看过好几本C++的书了,感觉C++本身设计的博大精深,而C++编译器就更是一个神
分类:
其他好文 时间:
2016-02-29 16:33:29
阅读次数:
129
置顶推荐: CuteSTL:https://github.com/jxd134/algorithm/tree/master/CuteSTL TinySTL:https://github.com/zouxiaohang/TinySTL 本人基于TinySTL的源码,结合《STL源码剖析》学习STL。
分类:
其他好文 时间:
2016-02-20 00:38:57
阅读次数:
224
看了《stl源码剖析》中关于traits的部分,由于对模板还不是很熟悉,就看了一下还未完工的C++ Template 进阶指南 ,感觉收获很大,推荐一下。 在使用迭代器时,为了知道它的相应类型,可以使用模板的参数推导,代码如下template struct MyItertypedef T valu....
分类:
其他好文 时间:
2016-01-24 01:48:12
阅读次数:
249
有时会觉得缺乏理论知识指导,导致有些模块的实现无法做到稳定、高效、简洁。本文旨在整理遇到过得比较好的数据结构与算法的实现,旨在反省自身,同时如果对读者有帮助,那再好不过了。 参考书目:《STL源码剖析》、《python源码剖析》、Leetcode题目 本文从分以下几个方面: 1. STL的容器 2....
分类:
编程语言 时间:
2016-01-01 13:00:06
阅读次数:
143