Qt之美(三)隐式数据共享
来源:互联网 发布:会员卡刷卡软件 编辑:程序博客网 时间:2024/05/17 08:02
为了最大化资源使用,和最小化数据拷贝,Qt在很多类中用到了隐式数据共享,以便数据仅在被写入时才被拷贝。该机制也被称为flyweight模式。 让我们以QByteArray为例,看看其是如何实现的。其内部使用一个名为Data的私有结构体来追踪共享的数据: 这里,如果数据保存在其他位置,则需要用到data来指向实际的数据位置;如果保存在自身,则是array指向的位置。当对象被拷贝时(比如通过赋值运算符),则仅仅拷贝指针,而不拷贝数据本身: 另一方面,如果共享的数据要被修改(比如通过resize()函数),则会自动拷贝之: 现在让我们来看看如何使用QSharedData和QSharedDataPointer来创建自己的共享数据对象。 相当简单,没错吧!好了,有兴趣的朋友可以用QExplicitlySharedDataPointer来创建显式的数据共享;)
- Qt之美(三)隐式数据共享
- (转载)Qt之美(三)隐式数据共享
- Qt之美(三):隐式共享
- Qt之美(三):隐式共享
- 数据之美(三)
- 数据之美(三)
- QT容器之遍历器和隐式数据共享
- Qt学习之路(36): Qt容器类之遍历器和隐式数据共享
- Qt学习之路(36): Qt容器类之遍历器和隐式数据共享
- Qt学习之路(36): Qt容器类之遍历器和隐式数据共享
- Qt学习之路(36): Qt容器类之遍历器和隐式数据共享
- Qt 学习之路 2(40):隐式数据共享
- 隐式共享:qt
- Qt 隐式共享
- 数据之美(上)
- 数据之美(下)
- 数据之美(一)
- 数据之美(二)
- Qt之美(二)元对象
- 如何动态指定CTabCtrl显示某个标签页
- C#中RichTextBox中文字的上标或下标表示设定
- 小偷函数
- glut基本程序+旋转的四边形
- Qt之美(三)隐式数据共享
- 内部采购网址
- 老友记第一纪第3集
- Android,对话框定时自动关闭的实现
- 一分钟经理人
- 用.net实现远程获取其他网站页面内容
- C#的EXCEL操作类
- POJ 3032 简单队列模拟
- Symbian^3开发环境配置