/* 使用结构来记录知识 - 知识体系 */
本章就 C++ 的旧特效和新特效进行讲解。
1. 访问类的内部成员方式:
- a. 使用 friend 关键字,声明友元关系,可以访问类的内部成员;
- b. 将类嵌入内部,从而访问类的内部成员。
2. 异常:
- a. try - catch - throw 组成的异常判断和处理的代码段;
- b. 标准异常库:exception -> logic_error / runtimer_error / bad_alloc
- c. 异常默认处理:set_terminate / set_unexpected
3. 其他:
- a. RTTI(Runtime Type Identification):运行阶段类型识别。
dynamic_cast 允许将一个基类指针赋值给一个子类指针;
typeid 返回一个指定对象的类型;
type_info 存储类型的信息。 - b. 强制类型转换:
dynamic_cast(RTTI);
const_cast(去除 const、volatile修饰符);
static_cast(大范围+派生类 -> 小范围+基类);
reinterpret_cast(不同类型、值相同的转换,如:地址/long -> 指针)