STL源码剖析(中文完整版)pdf

下载地址:网盘下载

学习编程的人都知道,阅读、剖析名家代码乃是提高水平的捷径。源码之前,了无秘密。大师们的缜密思维、经验结晶、技术思路、独到风格,都原原本本体现在源码之中。

这本书所呈现的源码,使读者看到vector的实现、list的实现、heap的实现、deque的实现、Red Black tree的实现、hash table的实现、set/map的实现;看到各种算法(排序、查找、排列组合、数据移动与复制技术)的实现;甚至还能够看到底层的memory pool和高阶抽象的traits机制的实现。

下载地址:网盘下载

原文地址:https://www.cnblogs.com/cf1774575641/p/9348727.html

时间: 2024-10-07 04:47:58

STL源码剖析(中文完整版)pdf的相关文章

STL源码剖析简体中文完整版(高清晰扫描带目录)PDF下载

网盘下载:STL源码剖析简体中文完整版(高清晰扫描带目录)PDF下载 – 易分享电子书PDF资源网 作者: 侯捷 出版社: 华中科技大学出版社 出版年: 2002-6 页数: 493 定价: 68.00元 装帧: 平装 ISBN: 9787560926995 内容简介 · · · · · · 学习编程的人都知道,阅读.剖析名家代码乃是提高水平的捷径.源码之前,了无秘密.大师们的缜密思维.经验结晶.技术思路.独到风格,都原原本本体现在源码之中. 这本书所呈现的源码,使读者看到vector的实现.l

C++ 《STL源码剖析》学习-vector

本文章是笔者学习<STL源码剖析>的学习笔记,记录的是笔者的个人理解,因为个人的水平有限,难免会有理解不当的地方,而且该书出版的时间比较久,难免会有些不一样.如有不当,欢迎指出. vector是c++中经常用到的数据结构,而且在面试时也会有提及,因此了解vector很重要. 一说到vector,我们就很容易想到另外一个与它十分相似的数据结构,关于它们之间显著的差别,我觉得是在于空间运用的灵活性上.数组是静态的,在声明的时候就要指明其具体的空间大小,而vector是动态的,随着元素的增加,它内部

《STL源码剖析》---stl_alloc.h阅读笔记

这一节是讲空间的配置与释放,但不涉及对象的构造和析构,只是讲解对象构造前空前的申请以及对象析构后空间怎么释放. SGI版本的STL对空间的的申请和释放做了如下考虑: 1.向堆申请空间 2.考虑了多线程.但是这节目的只是讲解空间配置与释放,因此忽略了多线程,集中学习空间的申请和释放. 3.内存不足时的应变措施 4.考虑到了内存碎片的问题.多次申请释放小块内存可能会造成内存碎片. 在C++中,内存的申请和释放是通过operator new函数和operator delete函数,这两个函数相当于C语

《STL源码剖析》---stl_deque.h阅读笔记(2)

看完,<STL源码剖析>---stl_deque.h阅读笔记(1)后,再看代码: G++ 2.91.57,cygnus\cygwin-b20\include\g++\stl_deque.h 完整列表 /* * * Copyright (c) 1994 * Hewlett-Packard Company * * Permission to use, copy, modify, distribute and sell this software * and its documentation fo

图解STL内存管理的两种边界情况(STL源码剖析补充)

图解STL内存管理的两种边界情况(STL源码剖析补充) 第一种情况就是内存池剩余的小字节空间怎么处理,会不会有内存泄露,答案肯定是不会,但是这个过程是怎么处理的,以下的代码已经简化处理,直接放到VS2010里就可以运行 #include<stdio.h> #include<stdlib.h> static const size_t __ALIGN=8; static const size_t __MAX_BYTES=128; static const size_t __NFREEL

《STL源码剖析》---stl_algobase.h阅读笔记

STL标准中没有区分基本算法或复杂算法,单SGI把常用的一些算法定义在<stl_algobase.h>只中,其他算法定义在<stl_algo.h>中. stl_algobase.h中的算法,比较值得学习的是copy(),它"无所不用其极"的改善效率.copy的目的是复制一段元素到指定区间,复制操作最容易想到赋值操作符=,但是有的赋值操作符=是trivial的,可以直接拷贝.关于赋值操作符=是不是trivial的,可以参考"Memberwise copy

STL 源码剖析 # class string #

STL 源码剖析 string 最近打算好好看看STL源码实现... 各种定义找不到头都大了. 首先你需要一个帮手,ctags不行我们就用global(什么东西自己搞定,这么不介绍了). 在STL库的路径下 bits/stringfwd.h你能找到一下定义 你会发现我们常用的标准库类string实质上是basic_string class string的定义有2000+行,我们这里不会给出所有细节,仅就个人觉得重要和感兴趣的地方进行分析. 你看,这里类的设计者把对于和string类的各种相关变量

STL源码剖析 读书总结

<<STL源码剖析>> 侯捷著 很早就买了这本书, 一直没看, 现在在实验室师兄代码的时候发现里面使用了大量泛型编程的内容, 让我有了先看看这本书的想法. 看之前我对于泛型编程了解甚少, STL倒使用的比较熟练. 看完这本书之后, 只能表示以前对于STL的使用真是跟小孩玩似得, 只懂其冰山一角. 在真正的深入到源码之后, 对于STL中不容易理解的部分如 迭代器(iterator), 仿函数(functor), 配接器(adapter)才有了一个彻彻底底的了解, 这种东西不看源码光看

STL 源码剖析 算法 stl_algo.h -- merge

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie merge (应用于有序区间) -------------------------------------------------------------------------- 描述:将两个经过排序的集合S1和S2,合并起来置于另一段空间.所得结果也是一个有序(sorted)序列 思路: 1.遍历两个序列直到其中一个结束了 2.如果序列一的元素较小,将它放到结果序列中,并前进 1 3.