文档 1 课程导读

知识点: 1.实验课程作者想说的话 2.我们的目标 3.中英对照 4.术语 5.命名习惯 6.关于线程 7.TR1和Boost

文档 2 视 C++ 为语言集合

知识点: 1.C 2.C面对对象 3.C模板 4.STL

实验 1 用常量枚举内联替代宏

知识点: 1.常量替换宏 2.枚举替换宏 3.内联替换宏

实验 2 尽可能使用 const

知识点: 1.const修饰指针变量 2.迭代器中的const 3.const修饰函数返回值 4.const修饰成员函数

实验 3 确定对象使用前初始化

知识点: 1.未初始化的对象 2.C初始化 3.初始化列表 4.初始化静态对象

实验 4 了解 C++ 默认创建并调用的函数

知识点: 1.编译器创建的函数 2.拷贝构造函数与拷贝赋值操作符函数 3.编译器拒绝创建拷贝赋值操作符函数的情况

实验 5 明确不允许编译器生成的函数

知识点: 1.禁用拷贝构造和赋值操作 2.私有化拷贝构造函数和赋值操作 3.私有化基类拷贝构造和赋值

实验 6 多态基类析构函数声明为 virtual

知识点: 1.非虚析构函数基类 2.虚函数基类 3.非基类勿声明虚函数 4.纯虚析构函数

文档 3 防止异常离开析构函数

知识点: 1.连续异常 2.处理析构函数中异常

文档 4 杜绝在构造和析构函数调用虚函数

知识点: 1.构造函数调用虚函数 2.现象解释 3.隐藏调用 4.替代方案

文档 5 让赋值操作符返回 this 引用

知识点: 1.连续赋值 2.自定义赋值操作符

实验 7 在赋值操作符中处理自我赋值

知识点: 1.自我赋值 2.自我赋值陷阱 3.交换函数

文档 6 复制对象的全部成员

知识点: 1.拷贝函数 2.成员拷贝 3.基类拷贝

实验 8 用对象管理资源

知识点: 1.资源管理 2.智能指针 3.引用计数智能指针 4.智能指针注意事项

文档 7 注意资源管理类中复制行为

知识点: 1.自定义资源管理类 2.资源类陷阱

文档 8 资源管理类中提供原始访问接口

知识点: 1.智能指针接口实例 2.智能指针访问接口 3.转换接口

文档 9 用相同形式成对使用 new 和 delete

知识点: 1.数组 2.成对使用new和delete 3.陷阱

文档 10 以独立语句将新申请对象置入智能指针中

知识点: 1.执行顺序 2.异常

实验 9 让接口正确使用,不易被误用

知识点: 1.误用接口 2.结构体限定数据类型 3.范围限制 4.shared_ptr接口设计

文档 11 设计类当作设计数据类型

知识点: 1.类设计规范

文档 12 引用传递替代值传递

知识点: 1.以值传递 2.引用传递 3.基类切割 4.以引用传递时机

文档 13 必须返回对象时别返回引用

知识点: 1.返回引用 2.返回静态对象 3.返回对象

文档 14 将成员变量尽量声明为私有

知识点: 1.属性划分 2.添加类成员变量 3.属性分类分析

文档 15 用函数或友元函数替代成员函数

知识点: 1.替代情况 2.将类相关函数放在同一个命名空间

文档 16 当所有参数都需要转型使用非成员函数

知识点: 1.类混合运算成员函数 2.隐式转换 3.普通函数实现混合运算

文档 17 写一个不抛出异常的 swap 函数

知识点: 1.交换函数 2.高效交换函数 3.类成员交换函数 4.类模板使用交换函数 5.使用命名空间

文档 18 使用时再声明变量

知识点: 1.定义变量时机 2.初始化对象 3.循环时定义对象时机

文档 19 尽量减少类型转换

知识点: 1.转型方法 2.转型偏移量 3.虚函数中的转型 4.探究dynamic_cast

文档 20 避免在对象内部返回句柄

知识点: 1.句柄如何破坏封装性 2.返回常量引用的隐患

文档 21 努力实现异常安全的代码

知识点: 1.潜在异常 2.用对象管理资源 3.异常安全保证 4.智能指针保存对象 5.拷贝与置换

知识点: 1.内联的缺点 2.声明内联 3.内联与模板的关联 4.函数指针调用不被嵌入 5.构造析构函数别声明为内联

文档 23 将文件间的编译依存关系降至最低

知识点: 1.何为依赖 2.前置声明 3.减少依赖写法 4.分割策略 5.分割方法

文档 24 确保公有继承 is-a 模型

知识点: 1.何为isa 2.小心被误以为isa

文档 25 避免隐藏继承的名字

知识点: 1.全局变量与局部变量作用域范围 2.继承中的作用域 3.using声明式 4.转交函数

文档 26 区分接口的继承和实现的继承

知识点: 1.继承 2.纯虚函数 3.虚函数 4.禁用默认接口 5.实现纯虚函数 6.非虚函数

文档 27 考虑虚函数替代方案

知识点: 1.虚函数 2.模板方法模式 3.策略模式 4.策略模式引入tr1::function 5.经典的策略模式

文档 28 杜绝重定义一个继承的非虚函数

知识点: 1.非虚函数 2.覆写 3.解释拒绝覆写

文档 29 杜绝重定义而来的默认参数

知识点: 1.动态绑定与静态绑定 2.NVI

文档 30 通过复合塑膜出 has-a 模型或据物实现

知识点: 1.hasa 2.据物实现

文档 31 谨慎使用私有继承

知识点: 1.私有继承 2.私有继承意义 3.复合成员 4.EBO

文档 32 谨慎使用多继承

知识点: 1.多继承引起的歧义 2.钻石型多继承 3.多继承使用场景

文档 33 了解隐式接口和编译期多态

知识点: 1.显式接口和运行期多态 2.隐式接口和编译期多态

文档 34 了解 typename 双重含义

知识点: 1.typename与class 2.嵌套从属名称 3.typename声明式 4.禁用typename情况 5.typedef与typename

文档 35 学习如何访问模板化基类名称

知识点: 1.模板基类成员函数 2.探究调用模板基类函数报错原因 3.解决调用模板基类函数失效的方法

文档 36 将与参数无关的代码从模板中抽离

知识点: 1.共性与变性分析 2.提取模板共性 3.模板中的数据存储

实验 10 运用成员函数模板接受所有兼容类型

知识点: 1.指针隐式转换 2.模板和泛型编程

文档 37 类型转换时用非成员函数

知识点: 1.类模板混合运算成员函数 2.非成员函数

实验 11 使用 traits 类表现类型信息

知识点: 1.迭代器分类 2.根据类型判断的问题 3.traits技术

文档 38 了解模板元编程

知识点: 1.traits回顾 2.模板元编程

文档 39 了解 new_handler 行为

知识点: 1.operatornew异常 2.类专属异常处理 3.继承中异常处理

文档 40 了解 new 和 delete 的合理替代时机

知识点: 1.为了检测运用错误 2.为了收集使用上的统计数据 3.为了增加分配和归还的速度 4.为了降低默认内存管理器带来的空间额外开销 5.为了弥补默认分配器中的非最佳字节对齐 6.为了将相关对象成簇集中 7.为了获得非传统的行为

文档 41 编写 new 和 delete 的内容时要遵守惯例

知识点: 1.堆空间申请零字节大小 2.继承中申请堆空间处理 3.堆空间申请数组 4.释放堆空间

文档 42 写了 placement new 也要写 placement delete

知识点: 1.引出placementnew 2.placementnew 3.placementdelete 4.名称覆盖 5.避免名称覆盖

文档 43 不要轻视编译器警告信息

知识点: 1.希望你消除每一个警告信息

文档 44 熟悉 C++ 标准库和 RT1

知识点: 1.C98标准程序库主要内容 2.TR1中14个新组件 3.提供彼此互不相干的独立功能 4.模板元编程 5.tr1与boost

知识点: 1.Boost库特点 2.Boost库组件

课程教师

机械工业出版社 共发布过 4 门课程

机械工业出版社以传播先进科技和先进文化为己任,广泛采集国内外优质出版资源。目前,年出版新书3700余种,年引进版权400多种,2010年书刊经营规模达10亿元销售码洋。机工社以理念先进、出版严谨、产品优质形成了市场品牌,以引进版多、大型工具书多和教材多形成了产品特色。

查看老师的所有课程 >
开通会员,即刻开始学习
加入社群
加入编程交流社群