1.Gtest的使用
2.命名空间,匿名命名空间,命名空间的作用域和可见性
3.设计模式,开放封闭原则。
4.C++11vector emplace关键字
5.vector swap实现内存收缩
6.C++移动语义
7.C++异常处理
8.C++静态变量,全局变量和单例模式的设计
9.多线程的学习
10.动态库静态库不能跨平台,是针对特定平台生成的二进制文件
11.虚函数和虚表
12.GDB的使用
13.引用折叠。总结下来就是C++中的两条规则:
- 规则一: 当我们将一个左值传给模板函数的右值引用参数(T&&)时, 编译器推断模板类型参数T为的左值引用类型,例如对于int类型时,推断T为int&.
- 例外规则二:如果我们间接创建了一个引用的引用,则这些引用形成了引用折叠。正常情况下,不能直接创建引用的引用,但是可以间接创建。大部分情况下,引用的引用会折叠为普通的左值引用(T& &、T& &&、 T&& &),右值引用的右值引用,则折叠成右值引用。