随笔分类 - C++ 总结记录
学习记录
摘要:功能:显示+计算 过程:在前者的基础上添加计算的代码 特点:由于已经精确地建模过,所以几乎不用改动原有的代码,可以直接添加新的部分 代码: 1 #include <iostream> 2 using namespace std; 3 4 class Expr_node; 5 6 // 句柄类 7 c
阅读全文
摘要:功能:打印表达式 技术:句柄、继承 代码 1 #include <iostream> 2 using namespace std; 3 4 class Expr_node; 5 6 // 句柄类 7 class Expr 8 { 9 friend ostream& operator<< (ostre
阅读全文
摘要:——将句柄与使用者信息分离,以类的形式存在 1. 计数类:控制计数的类,被嵌入句柄来使用,实现功能分离 2. 实现代码 1 #include <iostream> 2 using namespace std; 3 4 // 计数部分 5 class UseCount 6 { 7 private: 8
阅读全文
摘要:值语义、指针语义的概念: 1. 发生在两个指针变量的相互赋值期间。 2. 若一个指针只获取另一个指针的地址,则为指针语义 3. 若一个指针获取另一个指针指向的对象的拷贝的地址,则为值语义 写时复制( copy on write ): 1. 。。。以后解释
阅读全文
摘要:提出问题:代理(见其它文章)提供了一个容器容纳对象时保持多态性的办法,但是它采用复制得到副本的方式,在复制对象开销巨大时或不可能时,需要考虑其它的方法。 解决方案:handle类(句柄类,又叫“ 智能指针 ”) 特性: 1. 具备代理的多态性 2. 只指向、不复制对象 3. 无句柄指向对象时释放对象
阅读全文
摘要:问题提出:由于C++具备继承的特性,若想使用一个容器(如数组)存储一系列的父类、子类对象,应该如何操作? 实现难点: 1. 基类数组:不能实现 2. 基类指针数组(间接层):对管理内存不友好 实在的解决方案:代理类 1. 代理是对对象的拷贝,具备对象的一切操作,并且可以实现容器中装入父类、子类各种对
阅读全文
浙公网安备 33010602011771号