C++STL标准程序库开发指南PDF电子书下载
- 电子书积分:17 积分如何计算积分?
- 作 者:闫常友,王敏著
- 出 版 社:北京:中国铁道出版社
- 出版年份:2013
- ISBN:9787113161743
- 页数:572 页
第1章 类模板简介 1
1.1基本概念 1
1.1.1命名空间 1
1.1.2头文件 2
1.1.3面向对象的程序设计 3
1.1.4 C+++中的声明和定义 7
1.1.5最简单的C+++程序 8
1.1.6指针 10
1.1.7函数 12
1.1.8文件 17
1.1.9程序的编译和链接 19
1.1.10程序的启动和终止 20
1.1.11异常处理 21
1.2类模板定义 21
1.2.1模板库(STL) 21
1.2.2 STL之父——Alexander Stepanov 22
1.2.3类模板的英文原始定义 22
1.2.4类模板实例化 22
1.2.5类模板的成员函数 24
1.2.6类模板的静态数据成员 24
1.3成员模板 26
1.4友元模板 28
1.5函数模板 29
1.6类模板的参数 32
1.6.1关键字typename的使用 33
1.6.2关键字typename与关键字class 34
1.7模板库简介 35
1.7.1 C语言和STL的演变历史 35
1.7.2 STL的组件 36
1.7.3 STL基本结构 37
1.7.4 STL编程概述 40
1.7.5小结 43
1.8本章小结 43
第2章 C++中的字符串 44
2.1字符串库简述 44
2.2字符的特点 46
2.3字符串类模板(basic_string模板类) 46
2.4字符串操作的通用函数 48
2.4.1构造器和析构器 48
2.4.2大小和容量 50
2.4.3元素存取(访问) 51
2.4.4字符串比较 52
2.4.5字符串内容修改和替换 55
2.4.6字符串联接 62
2.4.7字符串I/O操作 63
2.4.8字符串搜索 64
2.4.9字符串对迭代器的支持 67
2.4.10字符串对配置器的支持 69
2.5本章小结 70
第3章 容器 71
3.1容器的概念 71
3.1.1容器成员和函数 72
3.1.2容器的种类和数据结构 72
3.2序列式容器概述 74
3.3序列式容器——vector类模板 75
3.3.1 vector类基础 75
3.3.2 vector类的成员函数 79
3.3.3 vector高级编程 84
3.4序列式容器——list类模板 93
3.4.1 list的定义和容量 94
3.4.2 list容器基础成员函数 100
3.4.3运算符函数 105
3.4.4其他重要成员函数 107
3.5序列式容器——deque(双端队列)类模板 113
3.5.1容器deque和容器vector的对比 114
3.5.2容器deque的定义和容量 114
3.5.3 deque容器基础成员函数 116
3.5.4 deque容器的高级编程 119
3.5.5 deque的模板函数 122
3.6关联式容器概述 122
3.7关联式容器——set/multiset类模板 123
3.7.1集合set的定义 123
3.7.2 set和multiset的容量、搜寻和统计 126
3.7.3 set和multiset的迭代器相关函数和赋值函数 129
3.7.4 set和multiset的插入和移除 131
3.7.5 set和multiset的比较运算符 133
3.8关联式容器——map/multimap类模板 135
3.8.1 map和multimap基础 136
3.8.2 map和multimap成员函数 140
3.8.3 map和multimap的高级编程 143
3.9特殊容器用法 152
3.9.1 bitset类模板 152
3.9.2 stack类模板 156
3.9.3队列queue类模板 157
3.9.4 Priority Queues类模板 161
3.10本章小结 163
第4章 C++中的算法 164
4.1算法库简介 164
4.2非修改性序列算法 165
4.2.1 for each算法 165
4.2.2元素计数 169
4.2.3最大最小值 171
4.2.4搜寻元素 173
4.2.5比较 183
4.3变动性算法 187
4.3.1复制 188
4.3.2转换 190
4.3.3互换 194
4.3.4赋值 195
4.3.5替换 197
4.3.6逆转 198
4.3.7旋转 200
4.3.8排列 201
4.4排序及相关操作 206
4.4.1全部元素排序 206
4.4.2局部排序 208
4.4.3根据某个元素排序 211
4.4.4堆(Heap)操作 212
4.4.5合并排序 215
4.4.6搜索 218
4.5删除算法 221
4.6本章小结 224
第5章 迭代器(Iterator) 225
5.1迭代器及其特性 225
5.2头文件﹤iterator﹥简述 226
5.3迭代器类型详述 226
5.3.1输入型迭代器 226
5.3.2输出型迭代器 227
5.3.3前向迭代器 227
5.3.4双向迭代器 228
5.3.5随机存取迭代器 228
5.3.6 vector迭代器的递增和递减 229
5.4迭代器配接器 229
5.4.1逆向迭代器 229
5.4.2插入型迭代器 231
5.4.3流迭代器 233
5.5迭代器辅助函数 236
5.5.1 advance()迭代器前进函数 237
5.5.2 distance()迭代器距离 238
5.5.3 iter_swap()交换两个迭代器所指内容 239
5.6本章小结 240
第6章 STL的数值计算 241
6.1复数运算 241
6.1.1最简单的复数运算例题 241
6.1.2复数成员函数 242
6.1.3复数运算符 243
6.1.4复数运算 243
6.1.5复数的超越函数 246
6.2数组(向量)运算 249
6.2.1类valarray 249
6.2.2数组子集类——slice类和类模板slice_array 257
6.2.3类gslice和类模板gslice_array 259
6.2.4类mask_array 262
6.2.5类indirect_array 263
6.3通用数值计算 265
6.3.1求和(accumulate) 265
6.3.2内积(inner_product) 266
6.3.3部分和(partial_sum) 268
6.3.4序列相邻差(adjacent difference) 270
6.4全局性数学函数 272
6.5本章小结 274
第7章 输入输出流 275
7.1 IOStream简介 275
7.1.1 Stream对象 276
7.1.2 Stream类别 276
7.1.3 Stream操作符 277
7.1.4操控器(Manipulators) 278
7.2 IOStream基本类和标准IOStream对象 278
7.2.1头文件 278
7.2.2标准Stream操作符 278
7.2.3 Stream状态 282
7.2.4标准输入和输出函数 286
7.3格式化 291
7.3.1格式标志 291
7.3.2 bool类型数据的格式控制 293
7.3.3详解“字段宽度、充填字符和位置调整” 293
7.3.4正记号与大写字符 296
7.3.5数值进制 297
7.3.6浮点数输出 298
7.3.7一般性格式定义 300
7.4 StreamBuffer类介绍 300
7.4.1 Stream缓冲区 301
7.4.2缓冲区迭代器 302
7.4.3自定义缓冲区 304
7.5基于字符串的流 311
7.5.1 streambuf类 311
7.5.2类模板basic_istringstream 312
7.5.3类模板basic_ostringstream 313
7.5.4类模板basic_stringstream 314
7.6基于文件的流 314
7.6.1文件标志及其使用 315
7.6.2随机存取 325
7.6.3 4个类模板简介 329
7.6.4 C库中的文件存取功能概述 331
7.7本章小结 333
第8章 异常处理 334
8.1异常概念和基本思想 334
8.1.1异常的概念 334
8.1.2异常的分类 335
8.1.3异常的捕捉和处理 338
8.1.4资源管理 339
8.1.5异常和效率 342
8.1.6异常的描述 343
8.1.7未捕捉的异常 346
8.2异常类及几个重要问题 347
8.2.1类exception 347
8.2.2调用abort() 353
8.2.3堆栈解退 355
8.2.4错误代码 356
8.2.5异常的迷失 356
8.2.6异常处理的局限性 360
8.3处理异常详述 362
8.3.1异常处理的实现机制 362
8.3.2异常处理语句的语法 363
8.3.3异常处理不唤醒 364
8.3.4函数声明 364
8.3.5使用异常 364
8.4异常的特殊处理函数 365
8.5本章小结 366
第9章 通用工具 368
9.1通用工具库简介 368
9.1.1相等比较 368
9.1.2小于比较 369
9.1.3复制构造 371
9.1.4默认构造 371
9.1.5配置器要求 371
9.1.6运算符 373
9.1.7对组(pairs) 374
9.2动态内存管理 379
9.2.1默认配置器 379
9.2.2 raw storage iterator 381
9.2.3 temporary buffers(临时缓冲区) 382
9.2.4特定算法 382
9.2.5 C函数库中的内存管理函数 383
9.3堆的内存分配 383
9.3.1 new和delete运算符 383
9.3.2分配固定维数的数组 384
9.3.3分配动态内存数组 385
9.3.4处理堆耗尽 386
9.4辅助功能 386
9.4.1数值极限 386
9.4.2较大较小值(最大最小值) 389
9.4.3两值交换 390
9.4.4辅助性比较 392
9.4.5头文件cstdlib和cstddef简介 393
9.5日期和时间 394
9.5.1 3个类型 394
9.5.2结构体tm 394
9.5.3相关时间函数 395
9.5.4时间示例 398
9.6模板类auto_ptr 400
9.6.1 auto_ptr类构造函数 401
9.6.2类auto_ptr的成员及转换 401
9.6.3使用auto_ptr类 402
9.7本章小结 405
第10章 语言支持 406
10.1类型 406
10.2执行属性 407
10.2.1类模板numeric_limits及其成员 407
10.2.2 float round_style和float_denorm_style 410
10.2.3数值极限的特化 410
10.2.4库函数 411
10.2.5应用举例 412
10.3程序的启动和终止 419
10.4动态内存管理 420
10.4.1内存的分配和释放 420
10.4.2内存分配错误 423
10.4.3应用举例 424
10.5类型标识符 426
10.5.1类type_info 426
10.5.2类bad_cast 427
10.5.3类bad_typeid 428
10.5.4操作符typeid 428
10.5.5操作符dynamic_cast 429
10.5.6应用举例 429
10.6异常处理 431
10.6.1异常类(class exception) 431
10.6.2 violating exception-specifications 432
10.6.3 abnormal termination 433
10.6.4未捕获异常(uncaught exception) 434
10.6.5应用举例 434
10.7其他运行支持 436
10.7.1概述 436
10.7.2应用举例 438
10.8本章小结 441
第11章 检测库详解 442
11.1异常类Exception 442
11.1.1 logic_error类 442
11.1.2 domain_error类 443
11.1.3 invali_argument类 444
11.1.4 length_error类 445
11.1.5 out_of_range类 447
11.1.6 runtime_error类 448
11.1.7 range_error类 449
11.1.8 overflow_error类 450
11.1.9 underflow_error(下溢出)类 451
11.2 assertions(断言) 452
11.3错误编码 454
11.4本章小结 456
第12章 国际化库详解 458
12.1国际化元素 458
12.2多种字符编码 458
12.2.1宽字符和多字节文本 459
12.2.2字符特性 459
12.2.3特殊字符国际化 461
12.3类locale 462
12.3.1类locale概述 462
12.3.2类locale的facet 465
12.3.3区域表示和混合区域表示 468
12.3.4流和区域 472
12.3.5刻面的处理 473
12.4标准locale的分类 475
12.4.1 ctype类 475
12.4.2数值类的locale类 491
12.4.3刻面numeric punctuation 498
12.4.4 collate类 501
12.4.5 time类(category) 504
12.4.6 C库locale 510
12.5本章小结 511
第13章 仿函数 512
13.1仿函数的概述 512
13.1.1仿函数的概念 512
13.1.2仿函数的作用 514
13.2预定义仿函数 521
13.3辅助用仿函数 522
13.3.1一元组合函数配接器 523
13.3.2二元组合函数配接器 525
13.4关系仿函数 526
13.4.1等于(equal_to﹤type﹥()) 527
13.4.2不等于(not_equal_to﹤type﹥()) 528
13.4.3小于(less﹤type﹥()) 529
13.4.4大于(greater﹤type﹥()) 529
13.4.5大于等于(greater_equal)和小于等于(less_equal) 530
13.5逻辑仿函数 530
13.5.1谓词 531
13.5.2逻辑仿函数 532
13.6算术仿函数 537
13.6.1加减乘除运算仿函数(plus) 537
13.6.2“求余”仿函数和“求反”仿函数 539
13.7其他类型的仿函数 540
13.7.1证和映射 541
13.7.2仿函数hash和subtractive_mg 543
13.8适配器 544
13.8.1成员函数适配器 545
13.8.2其他适配器 551
13.9本章小结 560
第14章 配置器 561
14.1使用配置器 561
14.2 C++标准程序库的默认配置器(标准配置器) 563
14.3自定义配置器 565
14.4配置类的详细讨论 565
14.4.1型别 565
14.4.2配置类的成员函数 565
14.4.3广义配置器 566
14.4.4动态存储 567
14.4.5 C风格的分配 567
14.5未初始化的内存 568
14.6配置器举例 570
14.7本章小结 571
参考文献 572
- 《近代旅游指南汇刊二编 16》王强主编 2017
- 《甘肃省档案馆指南》甘肃省档案馆编 2018
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《近代旅游指南汇刊 31》王强主编 2014
- 《近代旅游指南汇刊二编 10》王强主编 2017
- 《手工咖啡 咖啡爱好者的完美冲煮指南》(美国)杰茜卡·伊斯托,安德烈亚斯·威尔霍夫 2019
- 《近代旅游指南汇刊 13》王强主编 2014
- 《近代旅游指南汇刊 28》王强主编 2014
- 《全国学前教育专业(新课程标准)“十三五”规划教材 简谱手风琴教程 第2版》(中国)杨克勤,王宝庆 2019
- 《中风偏瘫 脑萎缩 痴呆 最新治疗原则与方法》孙作东著 2004
- 《水面舰艇编队作战运筹分析》谭安胜著 2009
- 《王蒙文集 新版 35 评点《红楼梦》 上》王蒙著 2020
- 《TED说话的力量 世界优秀演讲者的口才秘诀》(坦桑)阿卡什·P.卡里亚著 2019
- 《燕堂夜话》蒋忠和著 2019
- 《经久》静水边著 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《微表情密码》(波)卡西亚·韦佐夫斯基,(波)帕特里克·韦佐夫斯基著 2019
- 《看书琐记与作文秘诀》鲁迅著 2019
- 《酒国》莫言著 2019
- 《中国当代乡土小说文库 本乡本土》(中国)刘玉堂 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《中国铁路人 第三届现实主义网络文学征文大赛一等奖》恒传录著 2019
- 《莼江曲谱 2 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《中国制造业绿色供应链发展研究报告》中国电子信息产业发展研究院 2019
- 《中国陈设艺术史》赵囡囡著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《《走近科学》精选丛书 中国UFO悬案调查》郭之文 2019
- 《清至民国中国西北戏剧经典唱段汇辑 第8卷》孔令纪 2018
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018