1. 命名空间三种使用方式 using N::d using namespace N N::d
2. inline与const代替宏
3. 能使用初始化列表的时候尽量使用初始化列表 自定义类型高效 少一次默构造。
4. 构造 析构 拷贝 赋值 两种取地址
5. 构造函数可以重载
6. 函数重载底层实现 extern “C”
7. 预处理 编译 汇编 链接
8. class与strut 大小计算
9. 大小端区分
10. 引用之间const关系
11. 拷贝函数传引用
12. 引用 const 自定义类型 初始化列表 初始化顺序
13. explicit防无名对象 可读性
14. static 对象共享 类外初始化
15. static与this指针
16. 友元函数 解决cincout重载
17. 内部类使用和大小计算
18. 匿名对象 类名().fun(); 生命周期一行
19. 栈堆数据段代码段 static链接属性
20. malloc free》operator new operator delete 可重载》new delete NULL/抛异常/构造析构顺序
21. replacem new -》new(p1)A(1) 初始化 new是操作符
22. 内存泄漏 种类 检测工具 RAII
23. 简单函数类模板class/typenamestring构造多样/size/length/增容1.5/42亿/reserve/resize/insert/erase/find/npos/substr…查文档
24. 可见字符不可见字符
25. cin/getline–空格
26. string深浅拷贝 现代与传统/简易string资源管理
27. vector/list/deque 底层和迭代器失效
28. stack/queue/priority_queue底层适配/仿函数
29. 模板 函数/类 全特化/偏特化xing/&
30. 分离编译 h/cpp/hpp
31. 重载 隐藏/重定义 默认成员函数重定义 切片
32. 菱形继承 虚继承 虚基表 偏移
33. 继承和组合 类层次的复用 优先组合 黑/白箱
34. 函数名参数 返回值 virtual 父类的指针或者引用调用 多态条件
35. 协变 父子返回值指针或引用 例外
36. 子类可不写virtual
37. 父子析构写多态 防止Axing p = new B;
38. 继承函数与多态重写函数 函数体与参数区别
39. final禁继承 override检查多态 抽象类/纯虚函数强制重写
40. 虚函数表 虚函数表指针 指针数组 0x00000000结束
41. 指向谁调谁原理 运行时到指向对象中查找虚表 运行时多态
42. 虚函数/虚函数表 — 代码段
43. 静态多态 动态多态 编译重载/运行重写
44. 多继承的虚表的有多个
45. && || 等判断顺序从左往右
46. setmap -内置find logN
47. pair<int, int>(1, 2)/makepair(1,2)
48. operator[]–insert插入查找修改
49. multi_set/multi_map no[]
50. unordered set/map 特性
51. c++11
52. 列表初始化 新构造函数
53. RTTI typeid().name()/auto/decltype()
54. 新容器 array/forward_list/…
55. A()=default;显式生成默认构造函数
56. 防拷贝 98声明/私有 11 A(…)=delete
57. 右值引用 左右值区分 右值引用场景 const move 完美转发 移动构造赋值
58. lambda {} 仿函数
59. 线程库 线程安全结合智能指针
60. 智能指针 管理权转移 防拷贝 引用计数 循环计数 弱指针 线程安全
61. 特殊类设计 利用构造析构
62. 类型推导 类型转换RTTI 规范的类型转换
63. STL算法迭代器 全排列
64. 空间配置器 内存池 一级数组 二级哈希桶挂载
65. IO流