《C++STL程序员开发指南》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:彭木根,王淑凌编著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2003
  • ISBN:7113051642
  • 页数:500 页
图书介绍:本书通过对大量程序实例的分析,深入浅出地讲解了C++ STL高级编程技术。

第一篇 预备知识 3

第1章 C++编程技术 3

1-1 C++与C语言的区别 4

1-1-1 文件扩展名的改变 4

1-1-2 简化输入/输出手段 5

1-1-3 数据类型声明的改变 5

1-1-4 动态内存分配运算符的使用 6

1-1-5 引用(References)类型 8

1-1-6 const语义的扩展 9

1-1-7 指针声明类型与对象类型相一致 13

1-1-8 int与char不再等价 13

1-1-9 结构数据类型的变化 13

1-1-10 数组和指针技术的不同 14

1-2 C++存储技术 15

1-2-1 C++存储类型 15

1-2-2 C++存取修饰符 16

1-2-3 C++对象的生存期 17

1-3 C++函数技术 19

1-3-1 类的构造函数、析构函数与赋值函数 19

1-3-2 在派生类中实现类的基本函数 29

1-3-3 内联函数技术 30

1-3-4 友元函数技术 31

1-4 C++面向对象机制的实现 33

1-4-1 类的继承技术 33

1-4-2 函数重载技术 37

1-4-3 运算符重载技术 38

1-4-4 纯虚函数和抽象类技术 40

1-5 小结 42

第2章 C++标准库技术 43

2-1 C++标准库简介 44

2-1-1 I/O流技术 46

2-1-2 string类 48

2-1-3 标准异常类 48

2-1-4 标准模板库类 49

2-2 C++输入/输出流技术 50

2-2-1 C++语言输入/输出流概述 50

2-2-2 输入/输出格式控制 50

2-2-3 特殊输入/输出流格式的设定 55

2-2-4 自定义的流操作符 60

2-2-5 根本不用于标准流运算符间的流字符串读/写函数 61

2-2-6 标准输入/输出流的操作符的重载 62

2-2-7 C++文件输入/输出流 63

2-3 C++字符串技术 75

2-3-1 字符串类基本操作 75

2-3-2 复杂字符串实例 89

2-4 标准异常类 92

2-4-1 绝对终止机制 92

2-4-2 非局部Goto机制 95

2-4-3 signals机制 95

2-4-4 C++异常处理机制 97

2-4-5 类的异常处理 99

2-5 小结 100

第二篇 C++ STL技术原理和组成 103

第3章 STL技术原理 103

3-1 模板概述 104

3-1-1 Smalltalk方法 104

3-1-2 模板方法 105

3-1-3 模板参数 106

3-1-4 关键字typename的使用 107

3-2 函数模板 108

3-2-1 函数模板基础 108

3-2-2 函数的定制 110

3-2-3 函数模板实例 112

3-3 类模板 115

3-3-1 类模板定义 116

3-3-2 类模板使用 118

3-3-3 类模板中的友元 118

3-3-4 模板程序设计举例 119

3-4 模板安全 122

3-4-1 Class类型的参数 123

3-4-2 包容安全 124

3-4-3 默认构造函数 124

3-4-4 operator new 125

3-4-5 Destructor 125

3-4-6 其他 126

3-5 模板的特殊性 129

3-5-1 一个特殊化的例子 129

3-5-2 指针特殊化 130

3-6 模板实例——list容器类设计 132

3-7 小结 135

第4章 STL技术概述 137

4-1 STL简介 138

4-1-1 什么是STL 138

4-1-2 STL的发展 139

4-1-3 STL的使用和实现——确定无益后删除 140

4-1-4 命名空间技术 142

4-2 STL基本结构 143

4-2-1 容器(Containers) 144

4-2-2 算法(Algorithms) 148

4-2-3 迭代器(Iterators) 150

4-2-4 函数对象(Function Object) 153

4-2-5 其他部件 154

4-3 STL编程概述 154

4-3-1 传统C++编程技术 155

4-3-2 STL编程技术 156

4-4 STL头文件和编译器 161

4-5 STL与MFC比较 162

4-5-1 MFC的缺陷 163

4-5-2 STL与MFC指针技术的差别 163

4-5-3 STL技术与MFC的互补 165

4-5-4 STL与MFC的类差别 167

4-5-5 STL与MFC的互相转换 174

4-6 STL编程关键 176

4-5-1 STL容器技术 176

4-5-2 C++和STL技术 178

4-7 小结 184

第三篇 C++ STL容器编程技术 189

第5章 STL容器技术总述 189

5-1 容器技术概述 190

5-1-1 容器介绍 193

5-1-2 Forward容器 194

5-1-3 Reversible容器 195

5-1-4 Sequence 195

5-1-5 Associative容器 196

5-2 vector技术 196

5-2-1 vector头文件 196

5-2-2 vector对象 197

5-2-3 vector实例 199

5-3 deque技术 200

5-3-1 deque头文件 201

5-3-2 deque对象 201

5-3-3 deque实例 203

5-4 list技术 204

5-4-1 list头文件 205

5-4-2 list对象 205

5-4-3 list实例 208

5-5 stack技术 209

5-5-1 stack头文件 209

5-5-2 stack对象 210

5-5-3 stack实例 211

5-6 queue技术 213

5-6-1 queue头文件 213

5-6-2 queue对象 213

5-6-3 queue实例 214

5-7 priority_queue技术 216

5-7-1 priority_queue头文件 217

5-7-2 priority_queue对象 217

5-7-3 priority_queue实例 218

5-8 slist技术 220

5-9 关联式容器 221

5-9-1 set介绍 221

5-9-2 multiset介绍 224

5-9-3 map介绍 228

5-9-4 multimap介绍 233

5-9-5 实例详解 237

5-10 小结 238

第6章 vector技术编程详解 239

6-1 vector编程入门 240

6-1-1 定义vector 240

6-1-2 vector初始化 242

6-1-3 vector大小统计 243

6-2 vector基本使用 244

6-2-1 判断vector是否空 244

6-2-2 使用循环遍历成员 246

6-2-3 使用迭代器 247

6-2-4 使用算法 248

6-3 vector高级编程技术 251

6-3-1 vector对象的查找 251

6-3-2 vector对象的搜索 252

6-3-3 vector字符串处理 253

6-3-4 vector的排序 255

6-3-5 vector元素增加 256

6-3-6 vector元素删除 257

6-3-7 vector对象交换 260

6-4 vector程序综合实例分析 261

6-5 小结 264

第7章 deque技术编程详解 265

7-1 deque编程入门 266

7-1-1 deque的定义 266

7-1-2 deque赋值 268

7-1-3 deque大小度量函数 270

7-1-4 返回函数 271

7-2 deque编程深入 276

7-2-1 判断容器是否为空 276

7-2-2 deque访问 278

7-2-3 deque重置技术 279

7-2-4 容器内容交换 280

7-3 deque插入和删除技术 282

7-3-1 insert操作 283

7-3-2 erase操作 284

7-3-3 clear操作 285

7-4 deque模板函数详解 286

7-4-1 operator[] 286

7-4-2 operator== 288

7-4-3 operator〈 288

7-4-4 operator!= 289

7-4-5 operator〈= 290

7-4-6 operator〉 290

7-4-7 operator〉= 291

7-5 deque实例详解 292

7-6 小结 295

第8章 list技术编程详解 297

8-1 list编程入门 298

8-1-1 list的定义 298

8-1-2 list赋值 301

8-1-3 list大小度量函数 306

8-1-4 返回函数 309

8-2 list编程详解 313

8-2-1判断容器是否为空 313

8-2-2 list访问 314

8-2-3 list重置技术 315

8-2-4 容器内容交换 317

8-3 list插入和删除技术 319

8-3-1 insert操作 319

8-3-2 erase操作 321

8-3-3 clear操作 323

8-4 list模板函数详解 323

8-4-1 operator== 324

8-4-2 operator〈 324

8-4-3 operator!= 325

8-4-4 operator〈= 326

8-4-5 operator〉 327

8-4-6 operator〉= 327

8-5 list特殊函数 328

8-5-1 merge()函数的使用 328

8-5-2 remove() 330

8-5-3 remove_if() 331

8-5-4 sort() 332

8-5-5 splice() 333

8-5-6 unique() 335

8-6 list实例详解 336

8-7 小结 342

第9章 set和multiset技术编程详解 343

9-1 set和multiset定义和创建 344

9-1-1 set类模板简介 345

9-1-2 multiset类模板简介 347

9-2 set和multiset编程基础 349

9-2-1 begin函数 349

9-2-2 end函数 351

9-2-3 rbegin函数 352

9-2-4 rend函数 354

9-2-5 判断空函数 357

9-2-6 计算大小函数 358

9-2-7 元素的插入 360

9-2-8 元素的删除操作 362

9-3 set和multiset深入编程 366

9-3-1 count函数 366

9-3-2 元素的查找 368

9-3-3 上下限迭代器的返回 370

9-3-4 元素的随机访问 371

9-3-5 元素大小比较 375

9-3-6 获取内存分配器 379

9-4 set和multiset编程实例 381

9-5 小结 387

第10章 map和multimap技术编程详解 389

10-1 map和multimap定义和使用 390

10-1-1 map类模板简介 391

10-1-2 multimap类模板简介 393

10-2 map和multimap编程基础 395

10-2-1 begin函数 395

10-2-2 end函数 397

10-2-3 rbegin函数 399

10-2-4 rend函数 401

10-2-5 判断空函数 404

10-2-6 计算大小函数 405

10-2-7 元素的插入 408

10-2-8 元素的删除操作 410

10-2-9 元素的交换 414

10-3 map和multimap深入编程 417

10-3-1 count函数 417

10-3-2 元素的查找 418

10-3-3 元素相等时上下限迭代器的返回 420

10-3-4 元素的随机访问 423

10-3-5 元素大小比较 427

10-3-6 获取内存分配器 430

10-4 编程实例 433

10-5 小结 440

第四篇 C++算法技术 443

第11章 通用算法技术 443

11-1 通用算法技术简介 444

11-2 非修正序列算法 448

11-2-1 查找容器中相同的相邻元素 448

11-2-2 容器中相同元素统计 449

11-2-3 容器对象变量比较 450

11-2-4 元素查找 451

11-2-5 特定的循环操作 454

11-2-6 不相等元素查找 456

11-2-7 采用search查找函数 458

11-3 修正序列算法 459

11-3-1 元素复制 460

11-3-2 赋值操作 461

11-3-3 通过函数进行元素的赋值 462

11-3-4 容器拆分技术 463

11-3-5 重新随机分布 464

11-3-6 元素删除 466

11-3-7 元素替换 467

11-3-8 元素的旋转 467

11-3-9 元素颠倒算法 469

11-3-10 元素交换算法 470

11-3-11 容器运算技术 472

11-3-12 删除容器中重复元素 473

11-4 排序算法 475

11-4-1 排序算法 475

11-4-2 排序元素的查找 478

11-4-3 字典式比较 483

11-4-4 极值元素求解 484

11-4-5 合并排序算法 489

11-4-6 拆分排序 492

11-4-7 堆栈操作技术 493

11-5 数值算法 495

11-5-1 元素求和 495

11-5-2 元素内积 498

11-5-3 序列相邻差 499

11-6 小结 500