【STL源码剖析】系列四:序列式容器--vector
【STL源码剖析】系列三:迭代器和traits技巧
【STL源码剖析】系列二:空间配置器allocator
《Effective C++》第八章笔记
《Effective C++》第七章读书笔记,主要是关于C++内存管理的行为。主角是operator new和operator delete,配角是new-handler,当operator new无法满足内存需求时调用的函数。
多线程下的内存管理更加复杂。由于heap是全局性资源,多线程会出现对于这一资源的竞争访问。所以在这种情况下内存管理更加复杂(本章并没有提到应该如何处理,只是提醒需要采用同步的方法进行控制)。
另外还需要注意的是分配单一对象和多个对象的区别。即operator new和operator new[]、operator delete和operator delete[]。
最后STL容器使用的heap内存是由分配器管理,而不是new和delete直接管理(本章不讨论分配器)。
《Effective C++》第七章笔记
《Effective C++》第七章读书笔记,本章主要是介绍在使用模板编程时的一些注意事项。
《Effective C++》第六章笔记
《Effective C++》第六章读书笔记,本章主要介绍C++在面向对象编程上的一些细节,比如继承可以是单一继承或者多重继承;每一个继承连接可以是public、protected、private,也可以是virtual(虚基类)或者non-virtual;成员函数是否为virtual或者non-vritual等等。
《Effective C++》第五章笔记
《Effective C++》第五章读书笔记,在适当提出类的定义和函数的定义之后,就需要实现它们。本章主要介绍实现时需要注意的一些细节。
《Effective C++》第四章笔记
《Effective C++》第四章读书笔记,软件设计就是希望软件做出期望的步骤和做法,通常从一般性的构想开始,逐渐实现细节,以允许特殊接口的开发。这些接口最终实现为C++的声明。本章主要是对良好的接口设计与声明进行规范。