C++
- C
- 基础概念
- 类
- 模板
- 资源管理
- 异常处理
- 生命周期
- 引用类型
- 输入输出流
- 智能指针
- 类型转换
- 编译期
- 标准库
- 自定义类型的迭代器
- 线程
- Range
- 常见范式
- Ragel
- Google 风格指南
- 代码优化
- More Effective C++
- 条款一:指针和引用
- 条款二:使用 C++ 类型转换
- 条款三:不要以多态的方式处理数组
- 条款四:尽量不要提供默认构造函数
- 条款五:对定制的“类型转换函数”保持警惕
- 条款六:分区前置操作符和后置操作符
- 条款七:不要重载 &&、||和逗号操作符
- 条款八:了解各种不同意义的 new 和 delete
- 条款九:利用析构函数避免泄漏资源
- 条款十:在构造函数中阻止资源泄漏
- 条款十一:禁止异常流出析构函数之外
- 条款十二:了解“抛出一个异常”与“传递一个参数”或“调用一个虚函数”之间的差异
- 条款十三:按引用捕获异常
- 条款十四:明智利用异常规范
- 条款十五:了解异常处理的成本
- 条款十六:谨记八二法则
- 条款十七:考虑使用缓式评估
- 条款十八:分期摊还预期的计算成本
- 条款十九:了解临时对象的来源
- 条款二十:协助完成“返回值优化(ROV)”
- 条款二十一:利用重载技术避免隐式类型转换
- 条款二十二:使用复合重载符取代其独身形式
- 条款二十三:考虑使用其他程序库
- 条款二十四:了解虚函数、多继承、虚继承、 RTTI 的成本
- 条款二十五:虚有构造函数和非成员函数
- 条款二十六:限制类能够产生的对象数量
- 条款二十七:限制/禁止 对象产生于堆中
- 条款二十八:智能指针
- 条款二十九:引用计数
- 条款三十:代理类
- 条款三十一:让函数根据一个以上的对象来决定如何虚化
- 条款三十二:在未来时态发展程序
- 条款三十三:将非尾端类设计为抽象类
- 条款三十四:如何在同一个程序中结合 C++ 和 C
- 条款三十五:让自己习惯于标准 C++ 语言
- 通用:永远改变编写异常安全代码的方式
- C++ 中的对象计数
- C++ 资源整理
- 题目
- 八股文
- 测试开发
- 面经复盘
- 脚本
- RTTI
- 标准库容器
- 函数容器
- 虚函数
- 抽象基类和纯虚函数
- 构造函数和析构函数中的晚捆绑
- 例:基于对象的继承
- std::string
- 迭代器