一.c++STL的实现:
1.vector底层数据结构为数据,支持快速随机访问。
2.list底层数据结构为双向链表,支持快速的增删。
3.deque底层数据结构为一个中央控制器和多个缓冲区,支持首尾快速增删,也支持随机访问。
4.stack底层一般用23实现,封装头部即可
5.set底层数据结构用红黑树,有序,不重复。
6.map底层数据结构用红黑树,有序,不重复。
7.multimap和multist同上
二.杂记:
1.在c++中 mutable也是为了突破const的限制二设置的,被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。
2.Guto in表示的事局部变量
3.内联函数实在编译的时候将目标代码插入的。
4.while和do while:
while 先判断再执行 do while 先执行再判断
5.在c语言中值非0表示真,为0表示假
6.操作系统用户态切换到内核态:
a.系统调用
b.异常
c.外围设备中断
7.引用一定要初始化
8.构造函数初始化必须采用初始化列表一共有三种情况
a.需要初始化的数据成员是对象
b.const修饰的类成员
c.需要初始化引用成员数据
9.gcc下double的对齐方式4字节 windows下double的对齐方式是8字节
10.Pwrite是系统调用
11.不能被重载的运算符:. , .* ,::, ?: ,sizeof