stl 基于哈希的map c++_笔记目录 (对象模型、STL容器、C++技巧)

v2-794a83e66e27e0796f5d61a5d6c687f2_1440w.jpg?source=172ae18b

(本专栏仅是个人笔记本,有胡言乱语和错漏之处 )

C++对象模型

  1. 蓝色海上漂:C++ GCC 对象模型 从汇编代码分析虚函数、动态绑定原理 (Part 1) —— 结合汇编代码和fdump-class-hierarchy分析了GCC中多重继承下的对象在内存中的对象模型,以及虚函数表动态绑定的底层实现。
  2. 蓝色海上漂:C++ GCC 对象模型 dynamic_cast实现 (Part 2) —— 结合源码,分析了dynamic_cast的GCC实现,以及为什么会开销较大。

STL代码阅读(GCC 5.4.0 libstdc++)

  1. 蓝色海上漂:C++ GCC STL 中unordered_(multi)set/map的实现原理 (Part 2 图解哈希表结构) —— 哈希表不仅仅是简单的std::vector[std::forward_list] ,为了便于迭代器遍历容器,STL作者又进行了哪些操作?
  2. 蓝色海上漂:C++ GCC STL 中unordered_(multi)set/map的实现原理 (Part 1 继承体系) —— 结合源码,分析了STL中的无序容器是怎么实现的?_Hashtable的六大基类分做了哪些事情?
  3. 蓝色海上漂:C++ GCC STL 中的Curiously Recurring Template Pattern 奇异递归模板模式 —— CRTP在STL的_Hashtable中的一个例子。
  4. 蓝色海上漂:C++ GCC STL std::string实现 (短字符串优化) —— C++11之后的std::string对于短字符串的栈上优化(附源码和测试用例)。
  5. 蓝色海上漂:C++ GCC STL std::vector部分实现 —— 结合源码分析了std::vector的实现。
  6. 蓝色海上漂:C++ GCC STL std::list部分实现 —— 结合源码和图例,分析并实现了std::list环形双向链表的GCC代码。
  7. 蓝色海上漂:C++ GCC STL std::iterator_traits分析 —— 从写泛型算法的例子出发,分析型别萃取器iterator_traits 如何使得STL中容器与算法相互独立;iterator_category作为标签类在STL中的作用。
  8. 蓝色海上漂:C++ GCC STL back_inserter back_insert_iterator详解 —— 结合源码,分析了迭代器配接器back_insert_iterator和辅助函数back_inserter的作用
  9. 蓝色海上漂:C++ GCC STL 中的与内存分配、管理相关的部分代码详解 —— 结合源码,分析了空间配置器,::operator new, ::operator delete的实现,以及标准库容器经常用到的几个内存函数:__uninitialized_fill_n_a_Construct, _Destroy
  10. 蓝色海上漂:C++ GCC STL中的空基类优化 及 例子 Empty base optimization EBO

C++ 学习

  1. 蓝色海上漂:万能引用,引用折叠,移动构造函数,emplace_back及其实现,完美转发及其实现 —— 结合完美转发std::forward的的源码,分析了forwarding reference(万能引用)和完美转发的模板实例化过程和实现原理。
  2. 蓝色海上漂:new delete 以及 new[] delete [] 汇编层面分析 —— 从汇编代码分析new/delete/new []/ delete []的时候,编译器做了哪些事情。
  3. 蓝色海上漂:libstdc++ libsupc++ libc++异同 —— 分辨了一下容易混淆的几个词。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值