图书介绍

C++标准程序库 自修教程与参考手册2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

C++标准程序库 自修教程与参考手册
  • (德)Nicolai M. Josuttis著;侯捷,孟岩译 著
  • 出版社: 武汉:华中科技大学出版社
  • ISBN:7560927823
  • 出版时间:2002
  • 标注页数:799页
  • 文件大小:24MB
  • 文件页数:826页
  • 主题词:

PDF下载


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

下载说明

C++标准程序库 自修教程与参考手册PDF格式电子书版下载

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

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

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

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

图书目录

1.1 缘起1

1.2 阅读前的必要基础2

1.3 本书风格与结构2

1.4 如何阅读本书5

1.5 目前发展形势5

1.6 范例程序代码及额外信息5

1.7 响应5

2.C++及其标准程序库简介7

2.1 沿革7

2.2.1 template(模板)9

2.2 新的语言特性9

2.2.2 基本型别的显式初始化(Explicit Initialization)14

2.2.3 异常处理(Exception Handling)15

2.2.4 命名空间(Namespaces)16

2.2.5 bool型别18

2.2.6 关键字explicit18

2.2.7 新的型别转换操作符(Type Conversion Operators)19

2.2.8 常数静态成员(Constant Static Members)的初始化20

2.2.9 main()的定义式21

2.3 复杂度和Big-O表示法21

3.1 命名空间(namespace)std23

3.一般概念(General Concepts)23

3.2 头文件(Header Files)24

3.3 错误(Error)处理和异常(Exception)处理25

3.3.1 标准异常类别(Standard Exception Classes)25

3.3.2 异常类别(Exception Classes)的成员28

3.3.3 抛出标准异常29

3.3.4 从标准异常类别(Exception Classes)中派生新类别30

3.4 配置器(Allocators)31

4.通用工具(Utilities)33

4.1 Pairs(对组)33

4.1.1 便捷函数make_pair()36

4.1.2 Pair运用实例37

4.2 Class auto ptr38

4.2.1 auto_ptr的设计动机38

4.2.2 auto_ptr拥有权(Ownership)的转移40

4.2.3 auto_ptrs作为成员之一44

4.2.4 auto_ptrs的错误运用46

4.2.5 auto_ptr运用实例47

4.2.6 auto_ptr实作细目51

4.3 数值极限(Numeric Limits)59

4.4 辅助函数66

4.4.1 挑选较小值和较大值66

4.4.2 两值互换67

4.5 辅助性的“比较操作符”(Comparison Operators)69

4.6 头文件〈cstddef〉和〈cstdlib〉71

4.6.1 〈cstddef〉内的各种定义71

4.6.2 〈cstdlib〉内的各种定义71

5.Standard Template Library(STL,标准模板库)73

5.1 STL组件(STL Components)73

5.2 容器(Containers)75

5.2.1 序列式容器(Sequence Containers)76

5.2.2 关联式容器(Associative Containers)81

5.2.3 容器配接器(Container Adapters)82

5.3 迭代器(Iterators)83

5.3.1 关联式容器的运用实例86

5.3.2 迭代器分类(Iterator Categories)93

5.4 算法(Algorithms)94

5.4.1 区间(Ranges)97

5.4.2 处理多个区间101

5.5 迭代器之配接器(Iterator Adapters)104

5.5.1 Insert Iterators(安插型迭代器)104

5.5.2 Stream Iterators(流迭代器)107

5.5.3 Reverse Iterators(逆向迭代器)109

5.6.1 移除(Removing)元素111

5.6 更易型算法(Manipulating Algorithms)111

5.6.2 更易型算法和关联式容器115

5.6.3 算法vs.成员函数116

5.7 使用者自定义之泛型函数(User-Defined Generic Functions)117

5.8 以函数作为算法的参数119

5.8.1 “以函数作为算法的参数”实例示范119

5.8.2 判断式(Predicates)121

5.9 仿函数(Functors,Function Objects)124

5.9.1 什么是仿函数124

5.9.2 预先定义的仿函数131

5.10.1 容器元素的条件134

5.10 容器内的元素134

5.10.2 Value语意vs.Reference语意135

5.11 STL内部的错误处理和异常处理136

5.11.1 错误处理(Error Handling)137

5.11.2 异常处理(Exception Handling)139

5.12 扩展STL141

6.STL容器(STL Container)143

6.1 容器的共通能力和共通操作144

6.1.1 容器的共通能力144

6.1.2 容器的共通操作144

6.2 Vectors148

6.2.1 Vectors的能力148

6.2.2 Vector的操作函数150

6.2.3 将Vectors当做一般Arrays使用155

6.2.4 异常处理(Exception Handling)155

6.2.5 Vectors运用实例156

6.2.6 Class vector〈bool〉158

6.3 Deques160

6.3.1 Deques的能力161

6.3.2 Deques的操作函数162

6.3.3 异常处理(Exception Handling)164

6.3.4 Deques运用实例164

6.4.1 Lists的能力166

6.4 Lists166

6.4.2 Lists的操作函数167

6.4.3 异常处理(Exception Handling)172

6.4.4 Lists运用实例172

6.5 Sets和Multisets175

6.5.1 Sets和Multisets的能力176

6.5.2 Sets和Multisets的操作函数177

6.5.3 异常处理(Exception Handling)185

6.5.4 Sets和Multisets运用实例186

6.5.5 执行期指定排序准则191

6.6 Maps和Multimaps194

6.6.1 Maps和Multimaps的能力195

6.6.2 Maps和Multimaps的操作函数196

6.6.3 将Maps视为关联式数组(Associated Arrays)205

6.6.4 异常处理(Exception Handling)207

6.6.5 Maps和Multimaps运用实例207

6.6.6 综合实例:运用Maps,Strings并于执行期指定排序准则213

6.7 其它STL容器217

6.7.1 Strings可被视为一种STL容器217

6.7.2 Arrays可被视为一种STL容器218

6.7.3 Hash Tables221

6.8 动手实现Reference语义222

6.9 各种容器的运用时机226

6.10.1 容器内的型别230

6.10 细说容器内的型别和成员230

6.10.2 生成(Create)、复制(Copy)、销毁(Destroy)231

6.10.3 非变动性操作(Nonmodifying Operations)233

6.10.4 赋值(Assignments)236

6.10.5 直接元素存取237

6.10.6 “可返回迭代器”的各项操作239

6.10.7 元素的安插(Inserting)和移除(Removing)240

6.10.8 Lists的特殊成员函数244

6.10.9 对配置器(Allocator)的支持246

6.10.10 综观STL容器的异常处理248

7.2 迭代器类型(Iterator Categories)251

7.STL迭代器(STL Iterators)251

7.1 迭代器头文件251

7.2.1 Input(输入)迭代器252

7.2.2 Output(输出)迭代器253

7.2.3 Forward(前向)迭代器254

7.2.4 Bidirectional(双向)迭代器255

7.2.5 Random Access(随机存取)迭代器255

7.2.6 Vector迭代器的递增(Increment)和递减(Decrement)258

7.3 迭代器相关辅助函数259

7.3.1 advance()可令迭代器前进259

7.3.2 distance()可处理迭代器之间的距离261

7.3.3 iter_swap()可交换两个迭代器所指内容263

7.4 迭代器配接器(Iterator Adapters)264

7.4.1 Reverse(逆向)迭代器264

7.4.2 Insert(安插型)迭代器271

7.4.3 Stream(流)迭代器277

7.5 迭代器特性(Iterator Traits)283

7.5.1 为迭代器编写泛型函数285

7.5.2 使用者自定义(User-Defined)的迭代器288

8.STL仿函数(functors)(又名函数对象,function objects)293

8.1 仿函数(functor)的概念293

8.1.1 仿函数可当做排序准则(Sort Criteria)294

8.1.2 拥有内部状态(Internal State)的仿函数296

8.1.3 for_each()的回返值300

8.1.4 判断式(Predicates)和仿函数(Functors)302

8.2 预定义的仿函数305

8.2.1 函数配接器(Function Adapters)306

8.2.2 针对成员函数而设计的函数配接器307

8.2.3 针对一般函数(非成员函数)而设计的函数配接器309

8.2.4 让自定仿函数也可以使用函数配接器310

8.3 辅助用(组合型)仿函数313

8.3.1 一元组合函数配接器(Unary Compose Function Object Adapters)314

8.3.2 二元组合函数配接器(Binary Compose Function Object Adapters)318

9.1 算法头文件(header files)321

9.STL算法(STL Algorithms)321

9.2 算法概览322

9.2.1 简介322

9.2.2 算法分门别类323

9.3 辅助函数332

9.4 for_each()算法334

9.5 非变动性算法(Nonmodifying Algorithms)338

9.5.1 元素计数338

9.5.2 最小值和最大值339

9.5.3 搜寻元素341

9.5.4 区间的比较356

9.6 变动性算法(Modifying Algorithms)363

9.6.1 复制(Copying)元素363

9.6.2 转换(Transforming)和结合(Combining)元素366

9.6.3 互换(Swapping)元素内容370

9.6.4 赋予(Assigning)新值372

9.6.5 替换(Replacing)元素375

9.7 移除性算法(Removing Algorithms)378

9.7.1 移除某些特定元素378

9.7.2 移除重复元素381

9.8.1 逆转(Reversing)元素次序386

9.8 变序性算法(Mutating Algorithms)386

9.8.2 旋转(Rotating)元素次序388

9.8.3 排列(Permuting)元素391

9.8.4 重排元素(Shuffling,搅乱次序)393

9.8.5 将元素向前搬移395

9.9 排序算法(Sorting Algorithms)397

9.9.1 对所有元素排序397

9.9.2 局部排序(Partial Sorting)400

9.9.3 根据第n个元素排序404

9.9.4 Heap算法406

9.10 已序区间算法(Sorted Range Algorithms)409

9.10.1 搜寻元素(Searching)410

9.10.2 合并元素(Merging)416

9.11 数值算法(Numeric Algorithms)425

9.11.1 加工运算后产生结果425

9.11.2 相对值和绝对值之间的转换429

10.特殊容器(Special Containers)435

10.1 Stacks(堆栈)435

10.1.1 核心接口436

10.1.2 Stacks运用实例437

10.1.3 Class stack〈〉细部讨论438

10.1.4 一个使用者自定义的Stack Class441

10.2 Queues(队列)444

10.2.1 核心接口445

10.2 2 Queues运用实例446

10.2.3 Class queue〈〉细部讨论447

10.2.4 一个使用者自定义的Queue Class450

10.3 Priority Queues(优先队列)453

10.3.1 核心接口455

10.3.2 Priority Queues运用实例455

103.3 Classpriority_queue〈〉细部讨论456

10.4 Bitsets460

10.4.1 Bitsets运用实例460

10.4.2 Class bitset细部讨论463

11.Strings(字符串)471

11.1 动机471

11.1.1 例一:引出一个临时文件名472

11.1.2 例二:引出一段文字并逆向打印476

11.2 String Classes细部描述479

11.2.1 String的各种相关型别479

11.2.2 操作函数(Operations)综览481

11.2.3 构造函数和析构函数(Constructors and Destructors)483

11.2.4 Strings和C-Strings484

11.2.5 大小(Size)和容量(Capacity)485

11.2.6 元素存取(Element Access)487

11.2.7 比较(Comparisons)488

11.2.8 更改内容(Modifiers)489

11.2.9 子串和字符串接合(concatenation)492

11.2.10 I/O操作符492

11.2.11 搜索和查找(Searching and Finding)493

11.2.12 数值npos的意义495

11.2.13 Strings对迭代器的支持497

11.2.14 国际化(Internationalization)503

11.2.15 效率(Performance)506

11.2.16 Strings和Vectors506

11.3.1 内部的型别定义和静态值507

11.3 细说String Class507

11.3.2 生成(Create)、拷贝(Copy)、销毁(Destroy)508

11.3.3 大小(Size)和容量(Capacity)510

11.3.4 比较(Comparisons)511

11.3.5 字符存取(Character Access)512

11.3.6 产生C-String和字符数组(Character Arrays)513

11.3.7 更改内容514

11.3.8 搜寻(Searching and Finding)520

11.3.9 子字符串及字符串接合(String Concatenation)524

11.3.10 I/O函数524

11.3.11 产生迭代器525

11.3.12 对配置器(allocator)的支持526

12.数值(Numerics)529

12.1 复数(Complex Numbers)529

12.1.1 Class Complex运用实例530

12.1.2 复数的各种操作533

12.1.3 Class complex〈〉细部讨论541

12.2 Valarrays547

12.2.1 认识Valarrays547

12.2.2 Valarray 的子集(Subsets)553

12.2.3 Class valarray细部讨论569

12.2.4 Valarray 子集类别(Subset Classes)细部讨论575

12.3 全局性的数值函数581

13.以Stream Classes完成输入和输出583

13.1 IOStreams基本概念584

13.1.1 Stream对象584

13.1.2 Stream类别584

13.1.3 全局性的Stream对象585

13.1.4 Stream操作符586

13.1.5 操控器(Manipulators)586

13.1.6 一个简单的例子587

13.2 基本的Stream类别和Stream对象588

13.2.1 相关类别及其阶层体系588

13.2.2 全局性的Stream对象591

13.2.3 头文件(Headers)592

13.3 标准的Stream操作符〈〈和〉〉593

13.3.1 output操作符〈〈593

13.3.2 input操作符〉〉594

13.3.3 特殊型别的I/O595

13.4 Streams的状态(state)597

13.4.1 用来表示Streams状态的一些常数597

13.4.2 用来处理Streams状态的一些成员函数598

13.4.3 Stream状态与布尔条件测试600

13.4.4 Stream的状态和异常602

13.5.1 输入用的成员函数607

13.5 标准I/O函数607

13.5.2 输出用的成员函数610

13.5.3 运用实例611

13.6 操控器(Manipulators)612

13.6.1 操控器如何运作612

13.6.2 使用者自定义操控器614

13.7 格式化(Formatting)615

13.7.1 格式标志(Format Flags)615

13.7.2 布尔值(Boolean Values)的I/O格式617

13.7.3 字段宽度、充填字符、位置调整618

13.7.4 正记号与大写字符620

13.7.5 数值进制(Numberic Base)621

13.7.6 浮点数(Floating-Point)表示法623

13.7.7 一般性的格式定义625

13.8 国际化(Internationalization)625

13.9 文件存取(File Access)627

13.9.1 文件标志(File Flags)631

13.9.2 随机存取634

13.9.3 使用文件描述符(File Descriptors)637

13.10 连接Input Streams和Output Streams637

13.10.1 以tie()完成“松耦合”(Loose Coupling)637

13.10.2 以stream缓冲区完成“紧耦合”(Tight Coupling)638

13.10.3 将标准Streams重新定向(Redirecting)641

13.10.4 用于读写的Streams643

13.11 String Stream Classes645

13.11.1 String Stream Classes645

13.11.2 char Stream Classes649

13.12 “使用者自定义型别”之I/O操作符652

13.12.1 实作一个output操作符652

13.12.2 实作一个input操作符654

13.12.3 以辅助函数完成I/O656

13.12.4 以非格式化函数完成使用者自定义的操作符658

13.12.5 使用者自定义的格式标志(Format Flags)659

13.12.6 使用者自定义之I/O操作符的数个依循惯例662

13.13 Stream Buffer Classes663

13.13.1 从使用者的角度看Stream缓冲区663

13.13.2 Stream缓冲区迭代器(Buffer Iterators)665

13.13.3 使用者自定义的Stream缓冲区668

13.14 关于性能(Performance)681

13.14.1 与C标准串流(Standard Streams)同步682

13.14.2 Stream缓冲区内的缓冲机制682

13.14.3 直接使用Stream缓冲区683

14.国际化(Internationalization,i18n)685

14.1.1 宽字符(Wide-Characer)和多字节(Multibyte)文本686

14.1 不同的字符编码(Character Encodings)686

14.1.2 字符特性(Character Traits)687

14.1.3 特殊字符国际化691

14.2 Locales的概念692

14.2.1 运用Locales693

14.2.2 Locale Facets698

14.3 Locales细部讨论700

14.4 Facets细部讨论704

14.4.1 数值格式化705

14.4.2 时间和日期的格式化708

14.4.3 货币符号格式化711

14.4.4 字符的分类和转换715

14.4.5 字符串校勘(String Collation)724

14.4.6 信息国际化725

15.空间配置器(Allocator)727

15.1 应用程序开发者如何使用配置器727

15.2 程序库开发者如何使用配置器728

15.3 C++标准程序库的缺省配置器732

15.4 使用者自行定义的配置器735

15.5 配置器细部讨论737

15.5.1 型别定义737

15.5.2 各项操作739

15.6 “未初始化内存”之处理工具细部讨论740

热门推荐