C++泛型:STL原理和应用

作者:任哲、房红征、张永忠

丛书名:计算机系列教材

定价:44.5元

印次:1-1

ISBN:9787302421757

出版日期:2016.03.01

印刷日期:2016.01.28

图书责编:汪汉友

图书分类:教材

电子书
在线购买
分享
内容简介
作者简介
前言序言
资源下载
查看详情 查看详情 查看详情

本书先在阐述泛型基本概念的基础上,比较详细和全面地介绍C++泛型实现的基本技术和基本机制,然后介绍STL的泛型实现技术及其应用方法。本书在内容选材及编写上注意泛型以及STL初学者的特点,语言通俗易懂,精练而不枯燥;以仿真的方式介绍STL的核心内容,从而达到理论和应用并重的学习效果。 本书是一本理论和应用兼顾,适合泛型设计及STL初学者阅读的读物,鉴于它的特点,也适合作为在校计算机专业、软件工程专业或与之相关专业的教材。

任哲教授从事高校自动化及计算机教学。在《微型计算机》等国家核心期刊上发表计算机专业论文十余篇。主编教材:《数字调节仪表》、《自动控制原理》、《C++面向对象程序设计》、《MFC Windows应用程序设计》、《uC/OS-II嵌入式实时操作系统原理及应用》、《嵌入式操作系统基础》。�

不止一次被问: 什么是泛型?什么是STL?泛型与STL有关系吗? 泛型和STL不仅有关系,而且有很重要的关系: 泛型是一种设计思想,而STL则是泛型思想在C++上所取得的成果。 所谓泛型就是一种更抽象、更宽泛的数据类型,用术语来说就是参数化了的数据类型,通俗点说就是一种“通用”数据类型。泛型就是企图使用这种“通用”类型来摆脱数据类型对代码复用的限制,从而提高软件开发效率。而C++则依靠它的模板技术实现了泛型思想,C++把常用的模板都制作成便于用户应用的例程提供在模板类库中,这个模板类库就叫做STL(Standard Template Library)。所以可以这样说: STL是泛型思想的C++实现。 泛型是不是很难?本科生有必要学习它吗? 泛型并不难,它实质上是人们把计算机语言向人类语言发展的一个重要步骤。也就是说,泛型更接近人类语言,所以从应用的角度来说它一点都不难。但是,要想把泛型(在C++中就是模板及其应用技术)的工作机理弄明白也不是一件简单的事情,因为一般人很少能直接接触到数据类型的推导和处理这些以前全部由编译器做的工作,除非他搞过系统软件的设计。 那么本科生有必要学习它吗?能把STL学明白吗? 作者的回答是: 绝对有必要,因为它很有用,在各方面都很有用。 首先,STL极具应用价值,因为大量的常规数据结构的维护管理工作它都自动完成了,用户可以把自己的精力完全集中于自己的业务逻辑上来,从而极大地提高应用程序的开发效率。 其次,由于STL是泛型设计的一个典型实现,而泛型设计又是软件发展的一个重要方向,因此作为打基础的本科学习阶段,学生必须对泛型设计的相关概念...

暂无课件

样章下载

暂无网络资源

扫描二维码
下载APP了解更多

目录
荐语
查看详情 查看详情
第1章C++泛型技术基础——模板/1

1.1泛型与模板/1

1.1.1泛型的基本概念/1

1.1.2C++模板及其定义/3

1.1.3几点说明和小结/7

1.2关于模板参数/10

1.2.1模板参数的种类/10

1.2.2模板形参和实参的结合/14

1.3特化模板和模板具现规则/16

1.3.1特化(特例化)模板/16

1.3.2模板的具现/19

1.4右值引用与模板/22

1.4.1右值引用/22

1.4.2右值引用的应用1——转移

语义/25

1.4.3右值引用应用2——转移函数

move()/30

1.4.4右值引用应用3——参数完美转发

模板/31

第2章C++泛型机制的基石——数据类型表/39

2.1类模板的公有数据类型成员/39

2.1.1类的数据类型成员/39

2.1.2再谈typedef/41

2.2内嵌式数据类型表及数据类型衍生/42

2.3数据类型表/44

2.3.1数据类型表的概念/44

2.3.2数据类型表的应用/47

2.4特化数据类型表/51

2.5STL中的Traits表/54

第3章STL及其使用的其他C++技术/61

3.1初识STL/613.1.1STL是C++标准库中的模板

类库/61

3.1.2STL应用程序示例/61

3.2STL常用的C++技术/65

3.2.1运算符重载/66

3.2.2函数对象(仿函数)/72

3.2.3lambda表达式/74

3.3智能指针/80

3.3.1智能指针的基本原理/81

3.3.2C++11支持的智能指针/86

...