《C++ Cookbook中文版》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(美)斯蒂芬斯(Stephens,R.)著;周成兴等译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2007
  • ISBN:7302155550
  • 页数:482 页
图书介绍:本书介绍C++中文版问题解决方案,对编程过程中的问题给出问题描述和解决方案。

前言 1

第1章 创建C++应用程序 7

1.0 概述 7

1.1 获得和安装GCC 19

1.2 从命令行创建“Hello,World”应用程序 21

1.3 从命令行创建静态库 26

1.4 从命令行创建动态库 28

1.5 从命令行创建复杂的应用程序 34

1.6 安装Boost.Build 40

1.7 使用Boost.Build创建“Hello,World”应用程序 42

1.8 使用Boost.Build创建静态库 45

1.9 使用Boost.Build创建动态库 46

1.10 使用Boost.Build创建复杂应用程序 47

1.11 使用IDE创建静态库 49

1.12 使用IDE创建动态库 52

1.13 使用IDE创建复杂应用程序 55

1.14 获得GNU make 60

1.15 使用GNU make创建“Hello,World”应用程序 62

1.16 使用GNU make创建静态库 68

1.17 使用GNU make创建动态库 72

1.18 使用GNU make创建复杂应用程序 74

1.19 定义宏 77

1.20 从IDE指定命令行选项 79

1.21 生成调试版程序 80

1.22 生成发布版程序 83

1.23 指定运行库 86

1.24 严格遵循C++标准 89

1.25 使源文件自动链接到指定的库 92

1.26 使用输出模板 94

第2章 代码结构 97

2.0 概述 97

2.1 确保头文件只包含了一次 98

2.2 保证一个跨多个源文件的变量只有一个实例存在 100

2.3 使用向前的类声明来减少#include的使用 101

2.4 使用命名空间来阻止名字冲突 103

2.5 包含一个内联文件 108

第3章 数值计算 110

3.0 概述 110

3.1 将字符串转换为数值 110

3.2 将数值转换为字符串 112

3.3 测试字符串中是否含有有效的数值 115

3.4 在限定精度内进行浮点数的比较 117

3.5 解析含有用科学计数法表示的数值的字符串 119

3.6 不同数值类型之间的转换 121

3.7 获得某种数值类型的最小和最大值 123

第4章 字符串与文本 126

4.0 概述 126

4.1 填充字符串 127

4.2 裁剪字符串 128

4.3 将字符串存储到字符系列中 133

4.4 获得字符串的长度 136

4.5 翻转字符串 138

4.6 分割字符串 139

4.7 标记字符串 141

4.8 连接字符串 143

4.9 在字符串中进行查找 145

4.10 查找第n个子字符串 148

4.11 从字符串中删除一个子字符串 150

4.12 将字符串转换为小写或大写 151

4.13 大小写不敏感的字符串比较 154

4.14 大小写不敏感的字符串查找 156

4.15 在文本文件中进行制表符与空格的相互转换 157

4.16 文本文件中的换行 159

4.17 计算文本文件中的字符数、字数和行数 161

4.18 计算文本文件中每个字的出现次数 163

4.19 给文本文件添加空白 166

4.20 调整文本文件 168

4.21 将文本文件中的多个空格压缩成一个 170

4.22 自动改正文本 171

4.23 读取由逗号分隔开的文本文件 173

4.24 使用正则表达式来分割字符串 175

第5章 日期与时间 177

5.0 概述 177

5.1 获得当前日期与时间 177

5.2 将日期/时间格式化为一个字符串 179

5.3 日期与时间运算 182

5.4 在时区之间转换 183

5.5 确定一年中的某天 184

5.6 定义受限数据类型 186

第6章 数据管理 190

6.0 概述 190

6.1 使用矢量而不是数组 191

6.2 高效地使用矢量 194

6.3 矢量复制 198

6.4 将指针存储在矢量中 200

6.5 将对象存储在链表中 201

6.6 将字符串映射到其他事物 206

6.7 使用哈希函数 212

6.8 按顺序存储对象 216

6.9 容器存储 219

第7章 算法 222

7.0 概述 222

7.1 遍历容器 223

7.2 删除对象 229

7.3 随机打乱数据 232

7.4 比较元素 233

7.5 合并数据 236

7.6 排列元素 240

7.7 分割元素 242

7.8 在序列上进行集合运算 244

7.9 序列元素转换 247

7.10 编写自己的算法 249

7.11 把元素输出到数据流 251

第8章 类 255

8.0 概述 255

8.1 初始化类成员变量 256

8.2 使用函数创建对象 258

8.3 使用构造函数和析构函数管理资源 260

8.4 自动添加新的类实例 262

8.5 确保一个成员变量只有一个副本 264

8.6 在运行时确定对象的类型 265

8.7 确定某个对象的类是否是另一个类的子类 267

8.8 为类的每个实例指定一个唯一的标识符 269

8.9 创建单个类 271

8.10 创建含抽象基类的接口 273

8.11 编写一个类模板 277

8.12 编写一个成员函数模板 281

8.13 重载自增和自减运算符 283

8.14 为直观类行为重载算术和赋值操作符 286

8.15 调用一个超类虚函数 292

第9章 异常与安全性 294

9.0 概述 294

9.1 创建一个异常类 294

9.2 创建一个异常安全的构造函数 298

9.3 创建一个异常安全的初始化列表 301

9.4 创建异常安全的成员函数 304

9.5 安全地复制一个对象 308

第10章 数据流与文件 312

10.0 概述 312

10.1 文本输出对齐 313

10.2 格式化浮点数输出 316

10.3 编写自己的流操作程序 319

10.4 使类可写入流 323

10.5 使流可读取类 325

10.6 获取文件信息 327

10.7 文件复制 329

10.8 删除或重命名文件 332

10.9 创建一个临时文件名和文件 333

10.10 创建目录 335

10.11 删除目录 337

10.12 读取目录的内容 340

10.13 从字符串中提取文件扩展名 341

10.14 从完整路径中提取文件名 342

10.15 从完整路径和文件名中提取路径 344

10.16 替换文件扩展名 345

10.17 将两个路径组合成一个路径 346

第11章 科学与数学计算 349

11.0 概述 349

11.1 计算一个容器中元素的个数 350

11.2 查找最大或最小值 351

11.3 计算总和与平均值 353

11.4 过滤掉给定范围之外的值 356

11.5 方差、标准差及其他统计函数计算 357

11.6 生成随机数 359

11.7 使用随机数初始化容器 361

11.8 表示一个数目可变的数字矢量 362

11.9 表示一个数目固定的数字矢量 364

11.10 点积计算 366

11.11 计算矢量的范数 367

11.12 计算两个矢量之间的距离 368

11.13 实现一个跨步迭代器 370

11.14 实现一个大小可变的矩阵 373

11.15 实现一个大小固定的矩阵 375

11.16 矩阵相乘 378

11.17 计算快速傅里叶转换 379

11.18 使用极坐标 381

11.19 在位集上进行算术运算 382

11.20 表示固定宽度的大整数 386

11.21 实现固定小数位的数值 389

第12章 多线程 391

12.0 概述 391

12.1 创建一个线程 392

12.2 使资源是线程安全的 395

12.3 从一个线程中给另一个线程发送通知 402

12.4 只初始化一次共享资源 405

12.5 给线程函数传递一个参数 406

第13章 国际化问题 409

13.0 概述 409

13.1 硬编码Unicode字符串 410

13.2 读取数字 411

13.3 读取日期和时间 414

13.4 读取货币值 418

13.5 给本地化字符串排序 422

第14章 XML 425

14.0 概述 425

14.1 解析一个简单的XML文档 426

14.2 使用Xerces字符串 433

14.3 解析一个复杂的XML文档 435

14.4 XML文档操作 444

14.5 使用DTD验证一个XML文档 448

14.6 使用Schema验证一个XML文档 452

14.7 使用XSLT转换一个XML文档 455

14.8 评估一个XPath表达式 460

14.9 使用XML保存和还原对象集 466

第15章 杂项 471

15.0 概述 471

15.1 为回调使用函数指针 471

15.2 使用指向类成员的指针 473

15.3 确保函数不会修改参数 475

15.4 确保成员函数不会修改其对象 477

15.5 编写一个不是成员函数的操作符 479

15.6 初始化由逗号分隔开的数列 481