相关推荐
-
STL源码剖析--侯捷
STL源码剖析--侯捷,STL源码剖析--侯捷STL源码剖析--侯捷STL源码剖析--侯捷STL源码剖析--侯捷
-
侯捷——STL源码剖析 笔记
在下图中,我们使用了如下: 1.一个容器vector 2.使用vector时,使用分配器分配内存 3.使用vi.begin(),vi.end()即迭代器,作为算法的参数 4.使用count_if算法 5.使用仿函数less() 6.使用函数适配器来对我们算法的结果进行进一步筛选(not1, bind2nd) 迭代器是一个左开右闭的区间,也就是说迭代器的end是最后一个元素的下一个元素。 序列式容器特点额外学习材料array一段连续空间,不论是否使用,都会全部占用arrayvector尾部可进可出,当空间不够
-
侯捷《STL源码剖析》 | 六大部件(史上最简明的介绍)
STL解析 | STL的体系结构基础 在leetcode的刷题过程中,有时调用到C++中的容器、迭代器,这些都封装在STL(Standard Template Library)中。偶然的机会,在B站看完侯捷老师的解析,据此作笔记记录一下,加深影响。 写在前面 使用一个东西,却不明白它的道理,不高明! STL的六大部件(components) 容器(container) 分配器(allocator) 算法(algorithm) 迭代器(iterator) 适配器(adapter) 仿函式(functor)
-
C++ | STL | 侯捷 | 学习笔记
STL —— Standard Template Library,标准模板库C++ Standard LIbrary,C++标准库中包含STL(即STL+一些小东西)STL六大部件:容器(Containers)、分配器(Allocators)、算法(Algorithms)、迭代器(Iterators)、仿函数(Functors)、适配器(Adapters)容器:放数据分配器:是来支持容器将数据放到内存里算法:是一个个函数来处理存放在容器里的数据迭代器:就是来支持算法操作容器的仿函数。
-
侯捷老师——STL源码剖析
generic programming GP 泛型编程 object oriented OO 面向对象 C++ Standard Library C++标准库 Standard Template Library STL 标准模板库 P1 认识headers、版本、重要资源 C++标准库中有百分之八十左右都是由 STL组成的 常用网站: cplusplus.com cppreference.com gcc.gnu.org 建议阅读书籍...
-
侯捷STL 17. deque、queue和 stack深度探索
1. deque 容器 1.1. buffer 元素是存放在一个个buffer中的 图中阴影部分就是未存放数据的 buffer 因为是一段段 buffer,所以 deque 是 分段连续 每个 buffer 是放在一个 vector 之中的,vector 中的每个元素是一个指针,指向每个buffer buffer 的次序就看 vector 中指针的次序 deque 往后扩充,只需要在 vector 后方用一个指针指向一个新的 buffer 就可以实现扩充 向前扩充同理,也是让一个指针
-
侯捷C++ (二--STL标准库)
侯捷C++ (二--STL标准库)--容器,分配器,迭代器,算法,仿函数
-
STL 源码剖析(侯捷著).pdf
向专家学习。侯捷著《STL 源码剖析》.pdf,大小愈 6 Mb。
-
stl 侯捷书上的源码
我想知道为什么没有,测试代码我都不只用怎么写 比如: C/C++ codestruct T{}; T * p = 0; p->operator&(); //非法.没有这个成员
-
STLSourceAnalysis:stl原始码剖析(侯捷)的学习笔记
STLSourceAnalysis:stl原始码剖析(侯捷)的学习笔记
-
泛型编程与STL(含源代码)(STL专辑)
本资源中文版 中文名:泛型编程与STL 译者:侯捷 英文名:Generic Programming and the STL 时间:1998 作者:Matthew H. Austern 包含:书、源代码、勘误表 个人比较喜欢侯捷翻译的书,不仅仅翻译的好,而且写的序让人对书对知识有一定的收货,主要是翻译的态度很好。不像有些译者,不仅仅的序很水,而且翻译得也不专业,译者不但没有水平,而且态度也令人不爽。 值得一看的好书。
-
STL源码剖析学习笔记(一)
本文主要是对侯捷《STL源码剖析》学习的知识点总结,以及自己搜集到的资料以及理解,若有任何建议以及意见请联系本人 那么,准备迎接吧
-
STL源码剖析
1.当vector的内存用完了,它是如何动态扩展内存的?它是怎么释放内存的?用clear可以释放掉内存吗?是不是线程安全的? vector内存用完了,会以当前size大小重新申请2* size的内存,然后把原来的元素复制过去,把新元素插上,然后释放原来的内存。 引用《effective stl》的第十二条:当涉及 STL容器和线程安全性时,你可以指望一个 STL库允许多个线程同时读一个容器...
-
侯捷《STL源码剖析》 | 容器的结构和分类(史上最简明的介绍)
容器的分类 序列式容器(sequence container) array(数组) vector(向量) deque(双端队列) List(双向链表) forward list(单向链表) stack、queue底层可以调用deque实现。 关联式容器(associative container) set / Multiset map / Multimap set、map基于红黑树(RBtree)的实现。 set中元素不能重复,Multiset中可以存储重复元素。 map中key不能
-
《STL源码剖析》学习笔记
第二章:空间配置器(allocator) 考虑到小型区块可能造成的内存破碎问题,SGI设计了双层级配置器。 当配置区块超过128bytes时,便调用第一级配置器,即直接使用malloc() free(); SGI的第一级配置器的allocate()和realloc()都是在调用malloc()和realloc()不成功后,改调用oom_malloc()和oom_realloc(),后两者都有
-
侯捷STL(一)
1. 可以在 前面列出的网站上查到 每个容器相应操作的复杂度 2. set map的底层是 红黑树实现的。红黑树是二叉树的一种。即高度平衡二叉树。左右子树的高度基本一致。 3. vector 2倍扩展: 空间浪费; list,set , map 每次扩展 1 个 ; deque 扩展一个 buffer 8个 4. forward-list 单向链表:只能push_front 5. 如果容器有自己的sort, 必须使用自己的; 如果没有,就使用全局的sort。因为自己的肯定是经过特殊处理,会更快。 .
10 楼 treblesoftware 2010-09-08 15:27
9 楼 yqin 2010-09-08 09:37
http://www.google.com/logos/
8 楼 liangguanhui 2010-09-08 09:05
7 楼 viperasi 2010-09-08 08:38
6 楼 viva-浅唱 2010-09-07 22:57
5 楼 fish2007 2010-09-07 19:27
4 楼 juliankim 2010-09-07 16:14
Jennifer Hom 文中有提到了
3 楼 fight_bird 2010-09-07 16:09
2 楼 xuhang1128 2010-09-07 14:49
1 楼 weiaijun 2010-09-07 11:07