1.to_string(int)
2.红黑树的五个性质
1,根节点黑色
2. 节点红色,则两个儿子为黑色
3. 从任意节点到其叶子几点上黑色节点数目一样
4. 颜色不是红色就是黑色
3.BST(二叉排序树(二叉搜索树)),主要如何建立,如何插入,如何删除*。
4.AVL(平衡二叉树)
5.B树,B+树性质及应用。
6.二叉树的许多操作:遍历,查找,建立。。。。。。
7.逻辑地址 --》线性地址(虚拟地址)--》 物理地址
8.c++模板知识
9.++,--操作符重载,前置,后置
10.函数对象(仿函数)。
11. new_handler 机制:对应operator new (其中含有一个无限循环,当要求的内存不能分配的时候调用new_handler),operator delete (当 分配内存为0时,operator直接返回,operatornew 将要求大小转换为1)
12.type_trait
13 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。
14.关于文件I/O与标准I/O,
关于I/O有两种类型,一种是不带缓冲,一种是带缓冲的,
对于read,write是不带缓冲的,这两个函数都是围绕文件描述符的,打开一个文件返回一个文件描述符,然后围绕该文件描述符进行I/O,
但是对于标准I/O,是围绕流进行的,当用标准I/O时打开或创建一个文件,其实已经使一个流与该文件关联。
其实流可以理解为缓冲区。
当标准fopen打开一个文件时,返回一个FIFE*指针,该指针指向指向一个结构体对象,该结构体包括文件描述符,指向流缓冲区的指针,流缓冲区的长度,当前流缓冲区的相关信息等。其实通过操作FIFE*指针操作流
标准I/O提供缓冲区目的其实是为了减少read ,write 的次数,因此当与文件或者磁盘,交互设备交流的时候是先通过先通过缓冲区间接进行I/O的。
三种类型的缓冲:
1.全缓冲,在填满缓冲区才进行实际I/O,对于磁盘上文件一般都是全缓冲,在第一次I/O时,通常会调用malloc获得需要使用的缓冲区。
2.行缓冲,指向终端设备的流
3.不带缓冲,标准错误,