摘要:
本文是我学习C++沉思录第6章的笔记本文主要讲述了Handle类的概念,定义方法以及写时复制技术。在前文(Surrogate代理类)的讲解中我们了解到了代理的实现方法.代理类有很多好处,但是麻烦的是每次都得进行复制.如果该类是经常使用并且member很多的话,这样复制的消耗是十分客观的.因此这里就要介绍另外一种代理类,Handle,也就是句柄类.为何使用句柄类?首先就是复制问题.前面有谈到,有些类内部数据很多,采用复制消耗非常大,这种情况下就必须采用句柄类来进行操作.其次是由于函数的参数和返回值都是采用了复制进行自动传递.虽然c++中引用可以避免,但是很多情况下返回值采用引用并不明智.对于采用 阅读全文
摘要:
这篇博客是我在学习C++沉思录的第5章做的笔记。本文主要讲了C++中代理类的使用方法和使用情况。所谓代理类,即surrogate.为什么要使用它呢,简单的举个例子. 1 class Vehicle 2 { 3 public: 4 Vehicle(){} 5 virtual string getName()= 0; 6 }: 7 8 class Car : public Vehicle 9 {10 public:11 Car(){}12 virtual string getName(){}13 };14 15 class Bike : public Bike16 {... 阅读全文