C++深入剖析-----------------委托设计
程序代码
结论一:图(一)实现的功能都是由图(二)提供的类来完成的
结论二: 两者的构造函数和析构函数不存在任何关系
结论三:采用指针的方式, 这样左边对外接口可以不发生改变。 如果要改变某个功能只需要改变指针所对应的类
模式二: 数据共享的模式
a b c 都是class String类型 私有指针StringRep指向了同一片区域 。这样a b c就会共享一份数据。 n表示计数,这主要是用来记录被引用的个数,一旦引用个数为0的时候,自动调用析构函数
扩展: copy_on_write 当a想要改变共享数据的时候,那就就会复制一份,a主要修改被复制的这一份