![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++ STL
Alpha205
非计算机专业,学过的东西,做一点记录
展开
-
C++ STL基本概念 学习笔记
组成1.容器(containers)2.算法 (algorithms)3.迭代器 (iterators)4.仿函数 (functors)5.配接器 (adapters)6.空间配置器 (allocators)1. 容器序列式容器:元素的可序(ordered), 有序(sorted)关联式容器:array: 大小固定的序列容器,保存了一个以严格的线性顺序...原创 2019-06-17 15:29:48 · 328 阅读 · 1 评论 -
C++ STL学习笔记(2) 容器结构与分类
接着学习侯捷老师的C++ STL!在使用容器的时候,需要明白容器中元素之间在内存里的关系是什么样的,是连续的,还是非连续的。容器可以分为两类:1. sequence container , 即序列容器a. Array 连续空间 , 大小固定,不能扩充b. Vector 后部可以扩充(当然扩充工作由Allocator完成),我们只需将元素放进去即可c. Deque 双...原创 2019-08-11 11:12:59 · 389 阅读 · 0 评论 -
C++STL学习笔记(4) 分配器(Allocator)
在前面的博客《C++ STL学习笔记(3) 分配器Allocator,OOP, GP简单介绍》中,简单的介绍了分配器再STL的容器中所担当的角色,这一节对STL六大部件之一的分配器进行详细的学习,从STL源代码的角度去理解分配器的具体细节:operator new 和malloc在不同的平台上调用C++中的operator new,最终都会是去调用malloc去分配内存,而malloc又会...原创 2019-08-24 20:09:38 · 2138 阅读 · 0 评论 -
C++ STL学习笔记(3) 分配器Allocator,OOP, GP简单介绍
继续学习侯捷老师的课程! 在前面的博客《C++ STL学习笔记(2) 容器结构与分类》中介绍了STL中常用到的容器以及他们的使用方法,在我们使用容器的时候,背后需要一个东西支持对内存的使用,这个东西就是分配器(Allocator)。容器一般都会有一个默认的分配器。例如,以vector为例,可以看到它的定义:他有一个默认的分配器std::alloca...原创 2019-08-12 14:05:11 · 548 阅读 · 0 评论 -
C++ STL学习笔记(5) Vector容器, array容器,deque容器
动态增长的数组vector,当它放入的元素满了的时候,会自动的扩充内存,但是,在计算机中内存不能够实现原地扩充,因为在申请了一块固定大小的内存之后,这块内存不管有没有用完,他后面的内存都有可能别的内容被占用。所以扩充的过程是在内存中别的地方找到一块足够大的内存,把原来的东西搬过去。vector的内部示意图:vector关键部分的实现代码: finish指向的是最后一个元素的后一个位置可...原创 2019-08-29 11:44:00 · 302 阅读 · 0 评论