摘要: 遵循经典设计准则:DTLib 中的所有类位于单一的继承树 改进的关键点 Exception 类继承自 Object 类:堆空间中创建异常对象失败时,返回 NULL 指针 新增 InvalidOperationException 类:成员函数调用时,如果状态不正确则抛出异常 SmartPointer 阅读全文
posted @ 2020-09-06 21:42 nxgy 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 1 准则 尽量使用单重继承的方式进行系统设计 尽量保持系统中只存在单一的继承树 尽量使用组合关系代替继承关系 2 顶层父类的创建 创建 DTLib::Object 类的意义 所有数据结构都继承自 Object 类 统一动态内存申请的行为,提高代码的移植性(自定义 new ,delete 操作符) 在 阅读全文
posted @ 2020-09-06 21:41 nxgy 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 1 异常简介 C++内置了异常处理的语法元素 try...catch... try 语句处理正常代码逻辑 catch 语句处理异常情况 try 语句中的异常由对应的 catch 语句处理 示例 try { // try语句中的代码块有可能发生异常,该异常由此间代码块中的throw语句抛出(如divi 阅读全文
posted @ 2020-09-06 21:40 nxgy 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 1 内存泄漏问题 动态申请堆空间,用完后不归还 C++语言中没有垃圾回收的机制 指针无法控制所指堆空间的生命周期 2 智能指针 指针生命周期结束时主动释放堆空间 一片堆空间最多只能由一个指针标识 杜绝指针运算和指针比较 3 智能指针的设计方案 通过类模板描述指针的行为:能够定义不同类型的指针对象 重 阅读全文
posted @ 2020-09-06 21:37 nxgy 阅读(115) 评论(0) 推荐(0) 编辑