图书介绍

C++ STL标准程序库开发指南PDF|Epub|txt|kindle电子书版本网盘下载

C++ STL标准程序库开发指南
  • 闫常友,王敏编著 著
  • 出版社: 北京:中国铁道出版社
  • ISBN:9787113223779
  • 出版时间:2017
  • 标注页数:516页
  • 文件大小:66MB
  • 文件页数:533页
  • 主题词:C语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

C++ STL标准程序库开发指南PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 类模板简介1

1.1 C++为什么需要模板功能1

1.1.1 计算机实在是太傻了1

1.1.2 类和函数重载部分解决了这个问题2

1.1.3 泛型编程完美思路2

1.1.4 C++的模板3

1.1.5 C++STL的渊源3

1.2 C++基本概念通览4

1.2.1 命名空间4

1.2.2 头文件5

1.2.3 面向对象的程序设计6

1.2.4 C++中的声明和定义8

1.2.5 最简单的C++程序10

1.2.6 指针12

1.2.7 函数13

1.2.8 文件17

1.2.9 程序的编译和链接20

1.2.10 程序的启动和终止21

1.2.11 异常处理21

1.3 类模板定义21

1.3.1 模板库(STL)22

1.3.2 STL之父——Alexander Stepanov22

1.3.3 类模板的英文原始定义22

1.3.4 类模板实例化22

1.3.5 类模板的成员函数24

1.3.6 类模板的静态数据成员24

1.4 成员模板26

1.5 友元模板27

1.6 函数模板28

1.7 类模板的参数31

1.7.1 关键字typename的使用32

1.7.2 关键字typename与关键字class33

1.8 模板库简介34

1.8.1 C语言和STL的演变历史34

1.8.2 STL的组件34

1.8.3 STL的基本结构35

1.8.4 STL的编程概述38

1.8.5 学习重点提示40

1.9 本章小结40

第2章 C++中的字符串41

2.1 字符串库简述41

2.2 字符的特点42

2.3 字符串类模板(basic string模板类)43

2.4 字符串操作的通用函数44

2.4.1 构造器和析构器45

2.4.2 大小和容量46

2.4.3 元素存取(访问)47

2.4.4 字符串比较49

2.4.5 字符串内容修改和替换51

2.4.6 字符串连接57

2.4.7 字符串I/O操作57

2.4.8 字符串的搜索和查找58

2.4.9 字符串对迭代器的支持62

2.4.10 字符串对配置器的支持63

2.5 本章小结64

第3章 容器65

3.1 容器的概念65

3.1.1 容器成员和函数65

3.1.2 容器的种类和数据结构66

3.2 序列式容器概述67

3.3 序列式容器——vector类模板68

3.3.1 vector类基础68

3.3.2 vector类的成员函数72

3.3.3 vector高级编程76

3.4 序列式容器——list类模板84

3.4.1 list的定义和容量85

3.4.2 list容器基础成员函数90

3.4.3 运算符函数94

3.4.4 其他重要成员函数96

3.5 序列式容器——deque(双端队列)类模板102

3.5.1 容器deque和容器vector的对比102

3.5.2 容器deque的定义和容量103

3.5.3 deque容器基础成员函数104

3.5.4 deque容器的高级编程107

3.5.5 deque的模板函数109

3.6 关联式容器概述110

3.7 关联式容器——set/multiset类模板110

3.7.1 集合set的定义110

3.7.2 set和multiset的容量、搜寻和统计113

3.7.3 set和multiset的迭代器相关函数和赋值函数116

3.7.4 set和multiset的插入和移除118

3.7.5 set和multiset的比较运算符120

3.8 关联式容器——map/multimap类模板121

3.8.1 map和multimap基础122

3.8.2 map和multimap成员函数126

3.8.3 map和multimap的高级编程128

3.9 特殊容器用法136

3.9.1 bitset类模板136

3.9.2 stack类模板139

3.9.3 队列queue类模板141

3.9.4 Priority Queues类模板144

3.10 本章小结146

第4章 C++中的算法147

4.1 算法库简介147

4.2 非修改性序列算法148

4.2.1 for each算法148

4.2.2 元素计数算法152

4.2.3 最小值和最大值算法153

4.2.4 搜寻算法155

4.2.5 区间比较算法163

4.3 变动性算法167

4.3.1 复制167

4.3.2 转换169

4.3.3 互换173

4.3.4 赋值174

4.3.5 替换175

4.3.6 逆转176

4.3.7 旋转178

4.3.8 排列179

4.4 排序及相关操作183

4.4.1 全部元素排序183

4.4.2 局部排序185

4.4.3 根据某个元素排序187

4.4.4 堆(Heap)操作189

4.4.5 合并排序191

4.4.6 搜索194

4.5 删除算法196

4.6 本章小结199

第5章 迭代器(Iterator)200

5.1 迭代器及其特性200

5.2 头文件<iterator>简述201

5.3 迭代器类型详述201

5.3.1 输入型迭代器201

5.3.2 输出型迭代器202

5.3.3 前向迭代器202

5.3.4 双向迭代器202

5.3.5 随机存取迭代器202

5.3.6 vector迭代器的递增和递减203

5.4 迭代器配接器203

5.4.1 逆向迭代器204

5.4.2 插入型迭代器205

5.4.3 流迭代器207

5.5 迭代器辅助函数210

5.5.1 advance()迭代器前进函数210

5.5.2 distance()迭代器距离211

5.5.3 iter_swap()交换两个迭代器所指内容212

5.6 本章小结213

第6章 STL的数值计算214

6.1 复数运算214

6.1.1 最简单的复数运算例题214

6.1.2 复数成员函数215

6.1.3 复数运算符216

6.1.4 复数运算216

6.1.5 复数的超越函数218

6.2 数组(向量)运算221

6.2.1 类valarray221

6.2.2 数组子集类——slice类和类模板slice_array228

6.2.3 类gslice和类模板gslice_array230

6.2.4 类mask_array232

6.2.5 类indirect_array233

6.3 通用数值计算235

6.3.1 求和(accumulate)235

6.3.2 内积(inner_product)236

6.3.3 部分和(partial_sum)238

6.3.4 序列相邻差(adjacent_difference)239

6.4 全局性数学函数241

6.5 本章小结243

第7章 输入/输出流244

7.1 IOStream简介244

7.1.1 Stream对象244

7.1.2 Stream类别245

7.1.3 Stream操作符246

7.1.4 操控器(Manipulators)246

7.2 IOStream基本类和标准IOStream对象247

7.2.1 和IOStream类相关的头文件247

7.2.2 标准Stream操作符247

7.2.3 Stream状态251

7.2.4 标准输入和输出函数254

7.3 格式化259

7.3.1 格式标志259

7.3.2 bool类型数据的格式控制260

7.3.3 详解“字段宽度、充填字符和位置调整”261

7.3.4 正记号与大写字符263

7.3.5 数值进制264

7.3.6 浮点数输出266

7.3.7 一般性格式定义267

7.4 StreamBuffer类介绍268

7.4.1 Stream缓冲区268

7.4.2 缓冲区迭代器269

7.4.3 自定义缓冲区271

7.5 基于字符串的流277

7.5.1 streambuf类277

7.5.2 类模板basic_istringstream279

7.5.3 类模板basic_ostringstream279

7.5.4 类模板basic_stringstream280

7.6 基于文件的流280

7.6.1 文件标志及其使用281

7.6.2 随机存取290

7.6.3 4个类模板简介294

7.6.4 C库中的文件存取功能概述296

7.7 本章小结298

第8章 异常处理299

8.1 异常概念和基本思想299

8.1.1 异常的概念299

8.1.2 异常的分类300

8.1.3 异常的捕捉和处理302

8.1.4 资源管理304

8.1.5 异常和效率306

8.1.6 异常的描述307

8.1.7 未捕捉的异常309

8.2 异常类及几个重要问题311

8.2.1 类exception311

8.2.2 调用abort()316

8.2.3 堆栈解退318

8.2.4 错误代码319

8.2.5 异常的迷失319

8.2.6 异常处理的局限性323

8.3 处理异常详述324

8.3.1 异常处理的实现机制325

8.3.2 异常处理语句的语法326

8.3.3 异常处理不唤醒326

8.3.4 函数声明326

8.3.5 使用异常326

8.4 异常的特殊处理函数327

8.5 本章小结328

第9章 通用工具329

9.1 通用工具库简介329

9.1.1 相等比较329

9.1.2 小于比较329

9.1.3 复制构造332

9.1.4 默认构造332

9.1.5 配置器要求332

9.1.6 运算符333

9.1.7 对组(pairs)334

9.2 动态内存管理339

9.2.1 默认配置器339

9.2.2 raw storage iterator341

9.2.3 temporary buffers (临时缓冲区)341

9.2.4 特定算法341

9.2.5 C函数库中的内存管理函数342

9.3 堆的内存分配343

9.3.1 new和delete运算符343

9.3.2 分配固定维数的数组343

9.3.3 分配动态内存数组344

9.3.4 处理堆耗尽345

9.4 辅助功能345

9.4.1 数值极限345

9.4.2 最大最小值(较大较小值)348

9.4.3 两值交换349

9.4.4 辅助性比较351

9.4.5 头文件cstdlib和cstddef简介352

9.5 日期和时间352

9.5.1 3个类型352

9.5.2 结构体tm353

9.5.3 相关时间函数353

9.5.4 时间示例356

9.6 模板类auto_ptr358

9.6.1 auto_ptr类构造函数359

9.6.2 类auto_ptr的成员及转换359

9.6.3 使用auto_ptr类360

9.7 本章小结363

第10章 语言支持364

10.1 类型364

10.2 执行属性364

10.2.1 类模板numeric_limits及其成员365

10.2.2 float_round_style和float_denorm_style367

10.2.3 数值极限的特化368

10.2.4 库函数368

10.2.5 应用举例369

10.3 程序的启动和终止376

10.4 动态内存管理376

10.4.1 内存的分配和释放377

10.4.2 内存分配错误379

10.4.3 应用举例380

10.5 类型标识符382

10.5.1 类type_info382

10.5.2 类bad_cast383

10.5.3 类bad_typeid384

10.5.4 操作符typeid384

10.5.5 操作符dynamic_cast385

10.5.6 应用举例385

10.6 异常处理387

10.6.1 异常类(class exception)387

10.6.2 violating exception-specifications388

10.6.3 abnormal termination389

10.6.4 未捕获异常(uncaught_exception)390

10.6.5 应用举例390

10.7 其他运行支持392

10.7.1 概述392

10.7.2 应用举例393

10.8 本章小结396

第11章 检测库详解397

11.1 异常类Exception397

11.1.1 类logic_error397

11.1.2 类domain_error398

11.1.3 类invalid_argument399

11.1.4 类length_error400

11.1.5 类out_of_range401

11.1.6 类runtime_error402

11.1.7 类range_error403

11.1.8 类overflow_error404

11.1.9 类underflow_error(下溢出)405

11.2 assertions(断言)406

11.3 错误编码408

11.4 本章小结409

第12章 国际化库详解410

12.1 国际化问题和国际化元素410

12.2 多种字符编码411

12.2.1 宽字符和多字节文本411

12.2.2 字符特性412

12.2.3 特殊字符国际化414

12.3 类locale414

12.3.1 类locale概述414

12.3.2 类locale的facet417

12.3.3 区域表示和混合区域表示420

12.3.4 流和区域423

12.3.5 刻面的处理424

12.4 标准locale的分类426

12.4.1 类ctype426

12.4.2 数值类的locale类440

12.4.3 刻面numeric punctuation447

12.4.4 类collate449

12.4.5 time类(category)451

12.4.6 C库locale457

12.5 本章小结458

第13章 仿函数459

13.1 仿函数的概述459

13.1.1 仿函数的概念459

13.1.2 仿函数的作用460

13.2 预定义仿函数467

13.3 辅助用仿函数468

13.3.1 一元组合函数配接器469

13.3.2 二元组合函数配接器471

13.4 关系仿函数472

13.4.1 等于(equal_to<type>())472

13.4.2 不等于(not_equal_to<type>())473

13.4.3 小于(less<type>())474

13.4.4 大于(greater<type>())475

13.4.5 大于等于(greater_equal)和小于等于(less_equal)475

13.5 逻辑仿函数476

13.5.1 谓词476

13.5.2 逻辑仿函数477

13.6 算术仿函数482

13.6.1 加减乘除运算仿函数(plus)482

13.6.2 “求余”仿函数和“求反”仿函数484

13.7 其他类型的仿函数485

13.7.1 证和映射486

13.7.2 仿函数hash和subtractive_mg489

13.8 适配器489

13.8.1 成员函数适配器490

13.8.2 其他适配器495

13.9 本章小结504

第14章 配置器505

14.1 使用配置器505

14.2 C++标准程序库的默认配置器(标准配置器)507

14.3 自定义配置器508

14.4 配置类的详细讨论509

14.4.1 型别509

14.4.2 配置类的成员函数509

14.4.3 广义配置器510

14.4.4 动态存储510

14.4.5 C风格的分配511

14.5 未初始化的内存511

14.6 配置器举例513

14.7 本章小结514

热门推荐