【C++深入剖析】委托设计
2018-03-02 16:00
162 查看
C++深入剖析-----------------委托设计
程序代码
结论一:图(一)实现的功能都是由图(二)提供的类来完成的
结论二: 两者的构造函数和析构函数不存在任何关系
结论三:采用指针的方式, 这样左边对外接口可以不发生改变。 如果要改变某个功能只需要改变指针所对应的类
模式二: 数据共享的模式
a b c 都是class String类型 私有指针StringRep指向了同一片区域 。这样a b c就会共享一份数据。 n表示计数,这主要是用来记录被引用的个数,一旦引用个数为0的时候,自动调用析构函数
扩展: copy_on_write 当a想要改变共享数据的时候,那就就会复制一份,a主要修改被复制的这一份
程序代码
结论一:图(一)实现的功能都是由图(二)提供的类来完成的
结论二: 两者的构造函数和析构函数不存在任何关系
结论三:采用指针的方式, 这样左边对外接口可以不发生改变。 如果要改变某个功能只需要改变指针所对应的类
模式二: 数据共享的模式
a b c 都是class String类型 私有指针StringRep指向了同一片区域 。这样a b c就会共享一份数据。 n表示计数,这主要是用来记录被引用的个数,一旦引用个数为0的时候,自动调用析构函数
扩展: copy_on_write 当a想要改变共享数据的时候,那就就会复制一份,a主要修改被复制的这一份
相关文章推荐
- 深入剖析设计模式中的组合模式应用及在C++中的实现
- C/C++ 程序设计员应聘常见面试试题深入剖析2
- C++ Vector用法深入剖析
- 深入剖析Spring架构与设计原理(二)
- C++ Vector用法深入剖析
- C/C++程序员应聘常见面试题深入剖析
- C++程序员应聘常见面试试题深入剖析
- C/C++程序员应聘常见面试题深入剖析(2)
- 深入剖析MMORPG游戏服务器端的设计
- [zz] C/C++程序员应聘常见面试题深入剖析 (一)
- C/C++ 程序设计员应聘常见面试试题深入剖析(2)
- C/C++ 程序设计员应聘常见面试试题深入剖析
- C/C++程序员应聘常见面试题深入剖析
- C++中的【菱形虚继承】深入剖析
- 深入剖析C++多态、VPTR指针、虚函数表
- C/C++ 程序设计员应聘常见面试试题深入剖析(1)
- 深入剖析C++中的string类
- 深入剖析Spring架构与设计原理(一)
- C/C++ 程序员常见面试题目深入剖析
- 深入剖析C++中的三种new