《C++编程自学宝典》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(英)理查德·格里姆斯著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2018
  • ISBN:9787115492401
  • 页数:337 页
图书介绍:本书旨在通过全面细致的内容和代码示例,带领读者更加全方位地认识C++语言。全书内容共计10章,由浅入深地介绍了C++的各项特性,包括C++语法、数据类型、指针、函数、类、面向对象特性、标准库容器、字符串、诊断和调试等。本书涵盖了C++11规范及相关的C++标准库,是全面学习C++编程的合适之选。

第1章 初识C++ 1

1.1 本章的主要内容 1

1.2 C++是什么 1

1.3 安装Visual C++ 2

1.3.1 安装配置 2

1.3.2 下载安装文件 2

1.3.3 安装Visual Studio 3

1.3.4 注册Microsoft账号 5

1.4 C++项目结构简介 6

1.4.1 编译器 6

1.4.2 链接代码 7

1.4.3 源文件 8

1.4.4 预处理器和标识符 14

1.4.5 依赖项 18

1.5 编写一个简单的项目程序 22

1.5.1 项目结构 22

1.5.2 创建预编译头文件 22

1.5.3 创建主文件 23

1.5.4 输入和输出流 24

1.5.5 time函数 25

1.5.6 构建可执行文件 26

1.5.7 测试代码 27

1.5.8 修改项目 27

1.6 小结 27

第2章 语言特性简介 28

2.1 编写C++代码 28

2.1.1 空格 28

2.1.2 格式化代码 29

2.1.3 编写语句 30

2.1.4 类型和变量 32

2.1.5 常量和文字 33

2.1.6 命名空间 37

2.1.7 C++的变量作用域 40

2.2 运算符 42

2.3 执行流控制 49

2.3.1 条件语句 49

2.3.2 选择 51

2.3.3 循环 53

2.3.4 跳转 57

2.4 C++语言特性应用 58

2.5 小结 62

第3章 C++类型探秘 63

3.1 内置类型 63

3.1.1 整数类型 64

3.1.2 浮点类型 68

3.1.3 字符和字符串 69

3.1.4 布尔类型 75

3.1.5 void 75

3.1.6 初始化器 76

3.1.7 默认值 77

3.1.8 无类型的变量声明 78

3.1.9 存储类 80

3.1.10 类型别名 81

3.1.11 记录类型中的聚合数据 82

3.1.12 访问运行时类型信息 88

3.1.13 类型取值范围 89

3.2 类型之间的转换 89

3.2.1 类型转换 89

3.2.2 转型 91

3.3 C++类型应用 94

3.4 小结 101

第4章 内存、数组和指针 102

4.1 C++中的使用内存 102

4.1.1 C++指针语法 102

4.1.2 空指针 104

4.1.3 内存类型 104

4.1.4 指针算术 106

4.2 数组 107

4.2.1 函数参数 108

4.2.2 多维数组 109

4.2.3 将多维数组传递给函数 110

4.2.4 字符数组 111

4.3 在C++中使用指针 113

4.3.1 访问越界 113

4.3.2 指针内存释放 113

4.3.3 指针转型 114

4.4 在代码中分配内存 115

4.4.1 分配单个对象 116

4.4.2 分配对象数组 116

4.4.3 处理内存分配异常 117

4.4.4 new运算符的其他版本 117

4.4.5 内存的生命周期 118

4.4.6 Windows SDK和指针 118

4.5 内存与C++标准库 120

4.6 引用 122

4.6.1 常量引用 123

4.6.2 返回引用 123

4.6.3 临时引用 124

4.6.4 右值引用 125

4.6.5 for循环区间和引用 127

4.7 指针实战 128

4.7.1 创建项目 129

4.7.2 将task对象添加到列表 130

4.7.3 删除任务列表 131

4.7.4 遍历任务列表 132

4.7.5 插入元素 133

4.8 小结 135

第5章 函数 136

5.1 定义C++函数 136

5.1.1 声明和定义函数 136

5.1.2 声明链接 137

5.1.3 内联化 137

5.1.4 确定返回类型 138

5.1.5 函数命名 138

5.1.6 函数参数 138

5.1.7 声明异常 139

5.1.8 函数体 139

5.2 函数参数 139

5.2.1 传递初始化器列表 140

5.2.2 默认参数 140

5.2.3 可变参数 141

5.3 函数特性 144

5.3.1 堆栈调用 144

5.3.2 声明调用规范 144

5.3.3 递归 145

5.3.4 函数重载 146

5.3.5 函数和作用域 146

5.3.6 删除函数 146

5.3.7 值传递和引用传递 147

5.4 函数设计 148

5.4.1 前置条件和后置条件 148

5.4.2 不变量 149

5.5 函数指针 150

5.5.1 留意括号 150

5.5.2 声明函数指针 150

5.5.3 函数指针用法 151

5.6 模板函数 152

5.6.1 定义模板 153

5.6.2 模板参数值 155

5.6.3 专一化模板 157

5.6.4 可变参数模板 157

5.7 运算符重载 159

5.7.1 函数对象 161

5.7.2 lambda表达式简介 163

5.8 函数在C++中的应用 164

5.9 小结 169

第6章 类 170

6.1 编写类 170

6.1.1 重新审视结构体 170

6.1.2 定义类 171

6.1.3 定义类的行为 171

6.1.4 创建对象 174

6.1.5 声明静态成员 181

6.1.6 嵌套类 184

6.1.7 访问常量对象 184

6.2 对象和指针 185

6.2.1 指向对象成员的指针 185

6.2.2 运算符重载 186

6.2.3 定义函数类 188

6.2.4 定义转换运算符 191

6.2.5 资源管理 192

6.2.6 编写包装器类 192

6.2.7 智能指针 193

6.3 模板 198

6.4 类的应用 200

6.5 小结 203

第7章 面向对象编程简介 204

7.1 继承和组合 204

7.1.1 从一个类继承 204

7.1.2 方法重载和名称隐藏 206

7.1.3 指针和引用 208

7.1.4 访问层级 209

7.1.5 继承访问层级 211

7.1.6 多继承 211

7.2 多态简介 214

7.2.1 虚方法 215

7.2.2 虚方法表 217

7.2.3 多继承和虚方法表 218

7.2.4 虚方法、构造函数和析构函数 219

7.2.5 容器和虚方法 219

7.2.6 友元和继承 220

7.2.7 重载和关键字final 221

7.2.8 虚拟继承 222

7.2.9 抽象类 222

7.2.10 获取类型信息 224

7.2.11 智能指针和虚方法 226

7.2.12 接口 228

7.2.13 类之间的关系 230

7.2.14 mixin类 231

7.3 多态应用 233

7.4 小结 244

第8章 标准库容器 245

8.1 pair和tuple 245

8.2 容器 247

8.2.1 顺序容器 248

8.2.2 关联容器 252

8.2.3 专用容器 255

8.2.4 迭代器 256

8.3 算法 261

8.3.1 元素迭代 261

8.3.2 获取信息 263

8.3.3 容器比较 263

8.3.4 修改元素 264

8.3.5 查找元素 266

8.3.6 元素排序 267

8.4 数值库 268

8.4.1 编译期运算 268

8.4.2 复数 270

8.5 标准库应用 271

8.6 小结 276

第9章 字符串 277

9.1 把字符串类当作容器 277

9.1.1 获取字符串信息 278

9.1.2 修改字符串 278

9.1.3 搜索字符串 279

9.2 国际化 281

9.3 字符串和数字 284

9.3.1 将字符串转换成数字 284

9.3.2 将数字转换成字符串 284

9.4 stream类 285

9.4.1 输出浮点数 285

9.4.2 输出整数 287

9.4.3 输出时间和货币 288

9.4.4 使用stream将数字转换为字符串 289

9.4.5 使用stream从字符串读取数字 290

9.5 正则表达式 292

9.5.1 正则表达式定义 292

9.5.2 标准库类 294

9.6 字符串应用 298

9.6.1 创建项目 299

9.6.2 处理标题子元素 303

9.7 小结 305

第10章 诊断和调试 306

10.1 准备工作 306

10.1.1 不变性和条件编译 306

10.1.2 条件编译 307

10.1.3 pragma指令 308

10.1.4 添加通知消息 309

10.1.5 调试程序的编译器开关 311

10.1.6 预处理器标识符 312

10.1.7 生成诊断信息 314

10.1.8 断言 318

10.2 应用程序终止 319

10.3 异常值 320

10.3.1 获取描述信息 321

10.3.2 消息编译器 322

10.4 C++的异常 323

10.4.1 异常规范 323

10.4.2 C++异常语法 323

10.4.3 标准exception类 325

10.4.4 根据类型捕获异常 326

10.4.5 函数中的try语句块 328

10.4.6 系统异常 329

10.4.7 异常嵌套 330

10.4.8 结构化异常处理 331

10.4.9 编译器异常开关 334

10.4.10 C++和SEH混合异常处理 334

10.4.11 编写异常安全的类 336

10.5 小结 337