出版社:电子工业出版社
年代:2012
定价:49.0
本书剖析了开源开发框架Qt中的C++技术,给读者提供一个优秀的案例,以学习C++语言以及面向对象设计技术。该书讨论了以下内容:类模板特化技术;分析比较了C++标准库、Qt对字符串、数据输入/输出的处理思路;隐式共享与d-pointer技术;函子及其在QTL(Qt Template Library)中的应用,QTL是如何使用模板特化技术优化QList性能的;如何在C++程序中嵌入汇编代码,实现一个原子操作,以很小的开销实现线程间通信;信号与槽机制;Graphics/View框架等。
第1章 案例的选择与评估
1.1 案例的初步选择
1.2 案例的定量评估
1.3 其他案例
1.4 基本约定
1.5 关于类图的约定
第2章 Qt概述
2.1 Qt版权
2.2 Qt库的编译
2.3 开发环境的设置
2.4 主控台的输入与输出
2.5 Qt风格的编程规范
2.6 与Qt及C++相关的文献资源
第3章 类模板特化
3.1 类模板特化
3.2 Traits技术
3.3 类型分类(Type Classification)技术
3.4 降低代码膨胀
第4章 标准库及Qt对字符串的处理
4.1 字符及其编码
4.2 标准库的类模板basic_string
4.3 Qt的类QString
第5章 国际化与区域文化
5.1 区域文化
5.2 facet
5.3 类locale的实现
5.4 类模板facet的实现
5.5 派生新的facet类
第6章 C++的iostream
6.1 C语言的scanf/printf函数组
6.2 iostream的总体结构
6.3 字符特征的描述
6.4 模板特化后的总体结构
6.5 文件流
6.6 字符串流
6.7 流缓冲区
6.8 二进制文件的处理
6.9 用户自定义类型的输入和输出
第7章 Qt的流
7.1 文件系统及底层文件操作
7.2 类QTextStream
7.3 类QDataStream
7.4 类QLocale
7.5 iostream和Qt流类的比较
第8章 隐式共享与d-pointer技术
8.1 隐式共享
8.2 d-pointer在隐式共享中的应用
8.3 二进制代码兼容
8.4 d-pointer模式的实现
8.5 QObject中的d-pointer
第9章 Qt容器与迭代器
9.1 QTL概述
9.2 QTL容器和QDataStream的无缝连接
9.3 类型分类技术在QList中的应用
9.4 函子的应用--相关词词典
第10章 多线程与可重入
10.1 创建一个线程
10.2 线程间同步
10.3 线程安全与可重入
10.4 多线程环境下的singleton模式
第11章 信号与槽(Signals and Slots)
11.1 对象树(QObject Tree)
11.2 信号与槽机制
11.3 信号与槽的应用例子
第12章 Graphics/View框架
12.1 Qt图形系统介绍
12.2 Graphics/View框架
12.3 例子--相撞的老鼠
第13章 Model/View框架
13.1 Model/View框架总体架构
13.2 模型(Models)
13.3 视图(Views)
13.4 选择操作
13.5 委托(Delegates)
13.6 代理模型(Proxy Models)
13.7 便利视图类
第14章 Qt中的命令模式
14.1 Qt的Undo Framework
14.2 使用Undo Framework的一个例子
第15章 Qt中的抽象工厂模式
15.1 抽象工厂模式简介
15.2 QTextCodec及其子类的定义
15.3 界面风格
第16章 Qt中的观察者模式
16.1 事件处理机制
16.2 事件滤波器
16.3 一个简单的例子--图像浏览器
16.4 一个有趣的例子--鼠标手势
第17章 Qt的元对象系统
17.1 C++ RTTI (Run-time Type Information)
17.2 Qt的元对象系统
第18章 智能指针
18.1 QPointer
18.2 QSharedDataPointer
参考文献
索引
《Qt中的C++技术》剖析了开源开发框架Qt中的C++技术,给读者提供一个优秀的案例,以学习C++语言以及面向对象设计技术。该书讨论了以下内容:类模板特化技术;分析比较了C++标准库、Qt对字符串、数据输入/输出的处理思路;隐式共享与d-pointer技术;函子及其在QTL(Qt Template LibraDr)中的应用,QTL是如何使用模板特化技术优化QList性能的;如何在C++程序中嵌入汇编代码,实现一个原子操作,以很小的开销实现线程间通信;信号与槽机制:GraDhics/View框架等。 软件学院或者计算机学院的学生,可将《Qt中的C++技术》作为课程 “C++程序设计”或者“面向对象软件设计”的参考书;上述课程的教师,可将《Qt中的C++技术》的内容融入他们的主讲或者试验环节,作为相关实训课程的教材;软件行业的开发者,可将本书作为深入学习C++设计与编程技术的案例教材。
《Qt中的C++技术》共18章。第1章讲述为什么会从众多的开源C++项目中选择Qt。读者可以借鉴其中的方法选择其他C++案例,或者在学习其他编程语言时,使用其中的方法选择对应的案例。而且,读者还可以使用其中的工具CppDepend剖析其他软件的结构与质量。这一章还介绍了本书对术语、UML类图方面的约定。在阅读后续章节前,读者应该首先阅读这一章。本书不但剖析Qt的源代码,有的章节还涉及修改Qt的源代码,此时需要重新编译整个Qt库。第2章简要介绍Qt,并讲述如何在Visual Studio 2010开发环境下安装、编译Qt库。Qt库多处用到了类模板特化技术。考虑到一般的C++教科书不会详细讲解这个话题,故第3章阐述该技术的概念和基本应用,第6章及第9章用到了该技术。
书籍详细信息 | |||
书名 | Qt中的C++技术站内查询相似图书 | ||
9787121171598 如需购买下载《Qt中的C++技术》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN | |||
出版地 | 北京 | 出版单位 | 电子工业出版社 |
版次 | 1版 | 印次 | 1 |
定价(元) | 49.0 | 语种 | 简体中文 |
尺寸 | 26 × 18 | 装帧 | 平装 |
页数 | 308 | 印数 |
(加) 布兰切特 (Blanchette,J.) , (英) 萨默菲尔德 (Summerfield,M.) , 著
(加) 杰思敏·布兰切特 (Jasmin Blanchette) , (英) 马克·萨默菲尔德 (Mark Summerfield) , 著
郑阿奇, 主编
(美) 布兰切尼, 著
(美) 艾朱斯特 (Ezust,A.) , (美) 艾朱斯特 (Ezust,P.) , 著
罗斌等, 编著
(英) 萨默菲尔德 (Summerfield,M.) , 著
(加) 布兰切特 (Blanchette,J.) , (英) 萨默菲尔德 (Summerfield,M.) , 著
霍亚飞, 编著