上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 48 下一页
摘要: 遵循经典设计准则——DTLib中的所有类位于单一的继承树中 Object这个顶层父类定义了动态内存申请时的行为,当动态内存申请失败时,直接返回空指针,并不会抛出异常。所以说DTLib中的每一个类,在动态内存申请结束时一定要判断是不是空指针 为什么要增加InvalidOperationExceptio 阅读全文
posted @ 2019-12-15 18:37 一代枭雄 阅读(202) 评论(0) 推荐(0)
摘要: 创建一个可复用的数据结构类库可复用:就是在不同的工程里面可以使用这门课创建的数据结构库,在不同的编译器、不同的工程里使用DTLib都是可以的。当代软件架构实践中的经验——尽量使用单重继承的方式进行系统设计 (单重继承+多接口)——尽量保持系统中只存在单一的继承树 (在当代的软件架构中是如何来保证呢? 阅读全文
posted @ 2019-12-15 11:49 一代枭雄 阅读(303) 评论(0) 推荐(0)
摘要: 1.Exception.h 中增加ArithmetricException类 2.Exception.h 中增加NullPointerException类 3.Exception.h 中增加IndexOutOfBoundsException类 4.Exception.h 中增加NoEnoughMem 阅读全文
posted @ 2019-12-13 23:56 一代枭雄 阅读(302) 评论(0) 推荐(0)
摘要: 异常类构建异常的类型可以是自定义类类型对于类类型异常的匹配依旧是从上到下严格的匹配赋值兼容性原则在异常匹配中依然适用一般而言-匹配子类异常的catch放在上部-匹配父类异常的catch放在下部 现代C++库必然包含充要的异常类族异常类是数据结构类所依赖的基础设施 Exception是一个抽象类,不能 阅读全文
posted @ 2019-12-13 23:41 一代枭雄 阅读(973) 评论(0) 推荐(0)
摘要: 智能指针实际上就是通过模板技术实现的一个类 内存泄露(臭名昭著的Bug)——在软件开发和测试阶段都不容易被发现-动态申请堆空间,用完后不归还-C++语言中没有垃圾回收的机制-指针无法控制所指堆空间的生命周期 当代C++软件平台中的智能指针-指针生命周期结束时主动释放堆空间-一片堆空间最多只能由一个指 阅读全文
posted @ 2019-12-12 22:16 一代枭雄 阅读(498) 评论(0) 推荐(0)
摘要: 数据结构课程的特点-专注于数据元素之间的关系-专注于特定结构之上的算法 数据结构课程并不关注数据元素的具体类型。 泛型编程的概念-不考虑具体数据类型的编程方式对于Swap函数可以考虑下面的泛型写法 void Swap(T& a, T& b) { T t = a; a = b; b = t; } Sw 阅读全文
posted @ 2019-12-12 21:23 一代枭雄 阅读(283) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2019-12-11 22:23 一代枭雄 阅读(33) 评论(0) 推荐(0)
摘要: 1.编写一个程序判断一个变量是不是指针? 拾遗-C++中仍然支持C语言中的可变参数函数-C++编译器的匹配调用优先级1.重载函数2.函数模板3.变参函数 #include <iostream> #include <string> using namespace std; class Test { p 阅读全文
posted @ 2019-12-11 22:10 一代枭雄 阅读(810) 评论(0) 推荐(0)
摘要: C++中如何得到动态类型? #include <iostream> #include <string> using namespace std; class Base { public: virtual string type() { return "Base"; } }; class Derive 阅读全文
posted @ 2019-12-11 21:32 一代枭雄 阅读(218) 评论(0) 推荐(0)
摘要: array.h HeapArray.h 阅读全文
posted @ 2019-12-09 22:42 一代枭雄 阅读(195) 评论(0) 推荐(0)
上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 48 下一页