c++学习书籍推荐《C++程序设计语言(特别版)》下载
百度云及其他网盘下载地址:点我
编辑推荐
《C++程序设计语言(特别版•十周年中文纪念版)》编辑推荐:十周年纪念版,体味C++语言的精妙与魅力,享受与大师的心灵对话。1979年,Biarne Stroustrup博士开始进行一项现在看来具有深远意义的工作一在C语言的基础上实现了内建支持面向对象程序设计方法的C with Classes,这就是震铄当代、让全世界数百万程序员如痴如狂的C++语言的前身。
1998年,ANSI/ISOC++标准建立,C++的标准化标志着Stroustrup博士俪注多年心血的伟大构想终于实现。
2000年,Stroustrup博士推出其经典著作The C++ Programming Language的特别版,这位C++之父将其对C++语言要义的理解、对编程精髓的把握、致C++程序员的箴言融会在这本书中,使《C++程序设计语言(特别版•十周年中文纪念版)》自面世以来便成为C++编程领域最重要的著作,对全世界C++程序员产生了广泛而深刻的影响。
十年后,让我们重温经典,体味C++语言的精妙与魅力,享受与大师的心灵对话……
C++之父的经典之作
第1版1985年,第2版1991年,第3版1997年,特别版2000年,让经典无限延伸……
《C++程序设计语言(特别版•十周年中文纪念版)》是在C++语言和程序设计领域具有深远影响、畅销不衰的著作,由C++语言之父Bjarne Stroustrup撰写,对C++语言进行了最全面、最权威的论述,覆盖标准C++以及由C++所支持的关键性编程技术和设计技术。《C++程序设计语言(特别版•十周年中文纪念版)》英文原版一经面世,即引起业内人士的高度评价和热烈欢迎,先后被翻译成德、希、匈、西、荷、法、日、俄、中、韩等近20种语言,数以百万计的程序员从中获益,是拥有最多读者、使用最广泛的C++著作。
在《C++程序设计语言(特别版•十周年中文纪念版)》英文原版面世10年后的今天,特别奉上十周年中文纪念版,希望众多具有丰富实战经验的C++开发人员能够温故而知新,印证学习心得,了解更加本质的C++知识,让获得的理论应用得更加灵活,也期望新的C++程序员从中认识到这本书的价值所在,从更高的起点出发,书写更加精彩的程序设计人生。
作者简介
作者:(英国)斯特朗斯特鲁普(Bjarne Stroustrup) 译者:裘宗燕
斯特朗斯特鲁普(Bjarne Stroustrup),英国剑桥大学计算机科学博士,C++语言的设计者和最初的实现者,也是《C++程序设计原理与实践》和《C++语言的设计和演化》的作者。他现在是德州农工大学计算机科学首席教授,同时不审AT&T贝尔实验室特别成员。1993年,由于在C++领域的重大贡献,他获得了ACM的Grace Murray Hopper大奖并成为ACM院士;2008年,他又获得了Dr.Dobb's杂志的程序设计杰出奖。在进入学术界之前,他在AT&T贝尔实验室工作。他是ISO C++标准委员会的创始人之一。
目录
出版者的话
专家指导委员会
中文版序
译者序
序
第2版序
第1版序
导 论
第1章 致读者 3
1.1 本书的结构 3
1.1.1 例子和参考 4
1.1.2 练习 5
1.1.3 有关实现的注记 5
1.2 学习C++ 6
1.3 C++ 的设计 7
1.3.1 效率和结构 8
1.3.2 哲学注记 9
1.4 历史注记 9
1.5 C++ 的使用 11
1.6 C和C++ 12
1.6.1 给C程序员的建议 13
1.6.2 给C++程序员的建议 13
1.7 有关在C++里编程的思考 14
1.8 忠告 15
1.9 参考文献 16
第2章 C++概览 19
2.1 为什么是C++ 19
2.2 程序设计范型 19
2.3 过程式程序设计 20
2.3.1 变量和算术 21
2.3.2 检测和循环 22
2.3.3 指针和数组 23
2.4 模块程序设计 23
2.4.1 分别编译 24
2.4.2 异常处理 25
2.5 数据抽象 26
2.5.1 定义类型的模块 27
2.5.2 用户定义类型 28
2.5.3 具体类型 29
2.5.4 抽象类型 31
2.5.5 虚函数 33
2.6 面向对象的程序设计 33
2.6.1 具体类型的问题 33
2.6.2 类层次结构 34
2.7 通用型程序设计 36
2.7.1 容器 36
2.7.2 通用型算法 37
2.8 附言 38
2.9 忠告 39
第3章 标准库概览 40
3.1 引言 40
3.2 Hello, world! 40
3.3 标准库名字空间 41
3.4 输出 41
3.5 字符串 42
3.5.1 C风格的字符串 44
3.6 输入 44
3.7 容器 46
3.7.1 向量-vector 46
3.7.2 范围检查 47
3.7.3 表-list 48
3.7.4 映射-map 49
3.7.5 标准容器 49
3.8 算法 50
3.8.1 迭代器的使用 51
3.8.2 迭代器类型 52
3.8.3 迭代器和I/O 53
3.8.4 遍历和谓词 54
3.8.5 使用成员函数的算法 56
3.8.6 标准库算法 56
3.9 数学 57
3.9.1 复数 57
3.9.2 向量算术 57
3.9.3 基本数值支持 58
3.10 标准库功能 58
3.11 忠告 58
第一部分 基本功能
第4章 类型和声明 63
4.1 类型 63
4.1.1 基本类型 64
4.2 布尔量 64
4.3 字符类型 65
4.3.1 字符文字量 66
4.4 整数类型 66
4.4.1 整数文字量 66
4.5 浮点类型 67
4.5.1 浮点文字量 67
4.6 大小 68
4.7 void 69
4.8 枚举 69
4.9 声明 71
4.9.1 声明的结构 72
4.9.2 声明多个名字 73
4.9.3 名字 73
4.9.4 作用域 74
4.9.5 初始化 75
4.9.6 对象和左值 76
4.9.7 typedef 76
4.10 忠告 77
4.11 练习 77
第5章 指针、数组和结构 79
5.1 指针 79
5.1.1 零 80
5.2 数组 80
5.2.1 数组初始化 80
5.2.2 字符串文字量 81
5.3 到数组的指针 83
5.3.1 在数组里漫游 83
5.4 常量 85
5.4.1 指针和常量 87
5.5 引用 88
5.6 指向void的指针 90
5.7 结构 91
5.7.1 类型等价 94
5.8 忠告 94
5.9 练习 94
第6章 表达式和语句 96
6.1 一个桌面计算器 96
6.1.1 分析器 96
6.1.2 输入函数 100
6.1.3 低级输入 102
6.1.4 错误处理 103
6.1.5 驱动程序 104
6.1.6 头文件 104
6.1.7 命令行参数 105
6.1.8 有关风格的注记 106
6.2 运算符概览 107
6.2.1 结果 109
6.2.2 求值顺序 110
6.2.3 运算符优先级 110
6.2.4 按位逻辑运算符 111
6.2.5 增量和减量 112
6.2.6 自由存储 113
6.2.7 显式类型转换 116
6.2.8 构造函数 117
6.3 语句概览 118
6.3.1 声明作为语句 119
6.3.2 选择语句 119
6.3.3 迭代语句 122
6.3.4 goto 123
6.4 注释和缩进编排 123
6.5 忠告 125
6.6 练习 125
第7章 函数 128
7.1 函数声明 128
7.1.1 函数定义 128
7.1.2 静态变量 129
7.2 参数传递 130
7.2.1 数组参数 131
7.3 返回值 132
7.4 重载函数名 133
7.4.1 重载和返回类型 135
7.4.2 重载与作用域 135
7.4.3 手工的歧义性解析 135
7.4.4 多参数的解析 136
7.5 默认参数 137
7.6 未确定数目的参数 138
7.7 指向函数的指针 139
7.8 宏 143
7.8.1 条件编译 145
7.9 忠告 145
7.10 练习 146
第8章 名字空间和异常 148
8.1 模块化和界面 148
8.2 名字空间 150
8.2.1 带限定词的名字 151
8.2.2 使用声明 152
8.2.3 使用指令 153
8.2.4 多重界面 154
8.2.5 避免名字冲突 157
8.2.6 名字查找 159
8.2.7 名字空间别名 159
8.2.8 名字空间组合 160
8.2.9 名字空间和老代码 163
8.3 异常 166
8.3.1 抛出和捕捉 167
8.3.2 异常的辨识 168
8.3.3 在计算器中的异常 169
8.4 忠告 173
8.5 练习 173
第9章 源文件和程序 175
9.1 分别编译 175
9.2 连接 176
9.2.1 头文件 178
9.2.2 标准库头文件 179
9.2.3 单一定义规则 180
9.2.4 与非C++代码的连接 182
9.2.5 连接与指向函数的指针 184
9.3 使用头文件 184
9.3.1 单一头文件 184
9.3.2 多个头文件 187
9.3.3 包含保护符 191
9.4 程序 192
9.4.1 非局部变量的初始化 192
9.5 忠告 194
9.6 练习 194
第二部分 抽象机制
第10章 类 199
10.1 引言 199
10.2 类 199
10.2.1 成员函数 200
10.2.2 访问控制 201
10.2.3 构造函数 202
10.2.4 静态成员 203
10.2.5 类对象的复制 204
10.2.6 常量成员函数 205
10.2.7 自引用 205
10.2.8 结构和类 208
10.2.9 在类内部的函数定义 210
10.3 高效的用户定义类型 210
10.3.1 成员函数 212
10.3.2 协助函数 214
10.3.3 重载的运算符 215
10.3.4 具体类型的意义 215
10.4 对象 216
10.4.1 析构函数 216
10.4.2 默认构造函数 217
10.4.3 构造和析构 218
10.4.4 局部变量 218
10.4.5 自由存储 220
10.4.6 类对象作为成员 221
10.4.7 数组 223
10.4.8 局部静态存储 224
10.4.9 非局部存储 225
10.4.10 临时对象 226
10.4.11 对象的放置 228
10.4.12 联合 229
10.5 忠告 230
10.6 练习 230
第11章 运算符重载 233
11.1 引言 233
11.2 运算符函数 234
11.2.1 二元和一元运算符 235
11.2.2 运算符的预定义意义 236
11.2.3 运算符和用户定义类型 236
11.2.4 名字空间里的运算符 237
11.3 一个复数类型 238
11.3.1 成员运算符和非成员运算符 238
11.3.2 混合模式算术 239
11.3.3 初始化 240
11.3.4 复制 241
11.3.5 构造函数和转换 242
11.3.6 文字量 243
11.3.7 另一些成员函数 243
11.3.8 协助函数 244
11.4 转换运算符 245
11.4.1 歧义性 246
11.5 友元 248
11.5.1 友元的寻找 249
11.5.2 友元和成员 250
11.6 大型对象 251
11.7 基本运算符 253
11.7.1 显式构造函数 253
11.8 下标 255
11.9 函数调用 256
11.10 间接 257
11.11 增量和减量 259
11.12 一个字符串类 260
11.13 忠告 265
11.14 练习 265
第12章 派生类 268
12.1 引言 268
12.2 派生类 269
12.2.1 成员函数 271
12.2.2 构造函数和析构函数 272
12.2.3 复制 273
12.2.4 类层次结构 273
12.2.5 类型域 274
12.2.6 虚函数 276
12.3 抽象类 278
12.4 类层次结构的设计 280
12.4.1 一个传统的层次结构 280
12.4.2 抽象类 283
12.4.3 其他实现方式 285
12.4.4 对象创建的局部化 287
12.5 类层次结构和抽象类 289
12.6 忠告 289
12.7 练习 289
第13章 模板 292
13.1 引言 292
13.2 一个简单的String模板 293
13.2.1 定义一个模板 294
13.2.2 模板实例化 295
13.2.3 模板参数 296
13.2.4 类型等价 296
13.2.5 类型检查 297
13.3 函数模板 298
13.3.1 函数模板的参数 299
13.3.2 函数模板的重载 300
13.4 用模板参数描述策略 302
13.4.1 默认模板参数 303
13.5 专门化 304
13.5.1 专门化的顺序 306
13.5.2 模板函数的专门化 307
13.6 派生和模板 308
13.6.1 参数化和继承 309
13.6.2 成员模板 310
13.6.3 继承关系 311
13.7 源代码组织 312
13.8 忠告 314
13.9 练习 314
第14章 异常处理 316
14.1 错误处理 316
14.1.1 关于异常的其他观点 318
14.2 异常的结组 318
14.2.1 派生的异常 319
14.2.2 多个异常的组合 321
14.3 捕捉异常 321
14.3.1 重新抛出 322
14.3.2 捕捉所有异常 322
14.4 资源管理 324
14.4.1 构造函数和析构函数的使用 325
14.4.2 auto_ptr 326
14.4.3 告诫 328
14.4.4 异常和new 328
14.4.5 资源耗尽 329
14.4.6 构造函数里的异常 331
14.4.7 析构函数里的异常 332
14.5 不是错误的异常 333
14.6 异常的描述 334
14.6.1 对异常描述的检查 335
14.6.2 未预期的异常 336
14.6.3 异常的映射 336
14.7 未捕捉的异常 338
14.8 异常和效率 339
14.9 处理错误的其他方式 340
14.10 标准异常 342
14.11 忠告 344
14.12 练习 344
第15章 类层次结构 346
15.1 引言和概述 346
15.2 多重继承 346
15.2.1 歧义性解析 348
15.2.2 继承和使用声明 349
15.2.3 重复的基类 350
15.2.4 虚基类 352
15.2.5 使用多重继承 354
15.3 访问控制 357
15.3.1 保护成员 359
15.3.2 对基类的访问 360
15.4 运行时类型信息 361
15.4.1 dynamic_cast 363
15.4.2 在类层次结构中漫游 365
15.4.3 类对象的构造与析构 367
15.4.4 typeid和扩展的类型信息 368
15.4.5 RTTI的使用和误用 370
15.5 指向成员的指针 371
15.5.1 基类和派生类 373
15.6 自由存储 374
15.6.1 数组分配 375
15.6.2 虚构造函数 376
15.7 忠告 377
15.8 练习 377
第三部分 标准库
第16章 库组织和容器 381
16.1 标准库的设计 381
16.1.1 设计约束 382
16.1.2 标准库组织 383
16.1.3 语言支持 385
16.2 容器设计 386
16.2.1 专门化的容器和迭代器 386
16.2.2 有基类的容器 388
16.2.3 STL容器 391
16.3 向量 392
16.3.1 类型 393
16.3.2 迭代器 394
16.3.3 元素访问 395
16.3.4 构造函数 396
16.3.5 堆栈操作 399
16.3.6 表操作 401
16.3.7 元素定位 403
16.3.8 大小和容量 404
16.3.9 其他成员函数 406
16.3.10 协助函数 406
16.3.11 vector[bool] 407
16.4 忠告 407
16.5 练习 408
第17章 标准容器 409
第18章 算法和函数对象 449
第19章 迭代器和分配器 485
第20章 串 511
第21章 流 533
第22章 数值 578
第四部分 用C++ 做设计
第23章 开发和设计 607
第24章 设计和编程 635
第25章 类的作用 670
附录和索引
附录A 语法 695
附录B 兼容性 713
附录C 技术细节 724
附录D 现场 759
附录E 标准库的异常时安全
百度云及其他网盘下载地址:点我
c++学习书籍推荐《C++程序设计语言(特别版)》下载的更多相关文章
- C语言学习书籍推荐《C Primer Plus(中文版)(第5版)》下载
普拉塔 (Prata S.) (作者), 云巅工作室 (译者) <C Primer Plus(中文版)(第5版)>共17章,介绍了C语言的基础知识,包括数据类型.格式化输入输出.运算符.表 ...
- java虚拟机的学习书籍推荐
javaEE开发已然是一个老生常谈的话题了,但经典之所以会成为经典,就是因为有可重复琢磨之处,每一次的反复推敲都会有不一样的收获.如果你不满足于做一个只会写if…else…的Java程序员,而是希望更 ...
- C++学习书籍推荐《Accelerated C++中文版》下载
百度云及其他网盘下载地址:点我 媒体推荐 书评 这是一本一流的C++入门书,它采用了一种和实践相结合的方式来解决具体的问题.相比我所见过的其他C++入门书来说,本书以令人惊奇的紧凑格式覆盖了更多的关于 ...
- C语言学习书籍推荐《C陷阱与缺陷》下载
下载地址:点我 凯尼格 (作者), 高巍 (译者) <C和C++经典著作:C陷阱与缺陷>适合有一定经验的C程序员阅读学习,即便你是C编程高手,<C和C++经典著作:C陷阱与缺陷> ...
- C语言学习书籍推荐《C和指针 Pointers On C》下载
<C和指针 POINTERS ON C>提供与C语言编程相关的全面资源和深入讨论.本书通过对指针的基础知识和高 级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去. 全书共18 ...
- java学习书籍推荐
1. Java 语言基础 谈到Java 语言基础学习的书籍,大家肯定会推荐Bruce Eckel 的<Thinking in Java >.它是一本写的相当深刻的技术书籍,Java 语言基 ...
- linux学习书籍推荐linux学习书籍推荐
引用地址:http://www.cnblogs.com/notepi/archive/2013/06/15/3137103.html Linux 学习书目推荐 Linux基础 1.<Linux与 ...
- 19年最新 Python0基础学习书籍推荐(内涵PDF地址以及书籍源码)
去年看过一篇文章,是关于18年的最适合0基础学习的书籍,今年,最新的书籍也已经统计出来.书籍的PDF太过于难找,所以很多PDF都找不到. 仅仅只能找到英文版PDF 本文章统计了18.19并做过对比,在 ...
- c++学习书籍推荐《C++沉思录》下载
百度云及其他网盘下载地址:点我 编辑推荐 经典C++图书,应广大读者的强烈要求再版 目录 第0章 序幕第一篇 动机第1章 为什么我用C++第2章 为什么用C++工作第3章 生活在现实世界中 第二篇 类 ...
- c++学习书籍推荐《C++编程思想第一卷》下载
百度云及其他网盘下载地址:点我 编辑推荐 <C++编程思想>(第1卷)(第2版)第1版荣获"软件开发"杂志评选的1996年度 图书震撼大奖,中文版自2000年推出以来, ...
随机推荐
- jquery开关灯
<!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...
- Genymotion常见问题解决方案
最近更新了Genymotion之后, 出了一大堆问题, 花了差不多两天的时间, 把一系列问题基本遇到遍了, 终于修成正果, 分享出来希望可以让大家少走一点弯路. 无法启动Genymotion;关键字: ...
- ELINK编程器典型场景之序列号烧写
序列号烧写功能是指往指定的FLASH存储位置写入产品序列号.由于产品序列号写入到FLASH存储位置,启用序列号功能需要考虑以下几个方面:如果您的应用使能了读保护,则解除读保护将触发全片擦除机制,序列号 ...
- SqlServer删除复制监视器中无效的发布名称
原文:SqlServer删除复制监视器中无效的发布名称 在服务器复制监视器中有一个发布名称,因为该发布订阅已经删除. ReportServerTempDB只有一个发布,已无效,打算删除. --直接删除 ...
- WPF应用App.Config文件的保存路径
App.Config文件有更改后,自动会保存到以下路径: C:\Users\你的系统用户名\AppData\Local\你的应用名\
- css3 pointer-events 让对象如透明般直接响应下层对象的鼠标事件
引用:http://www.css88.com/book/css/properties/user-interface/pointer-events.htm 语法: pointer-events:aut ...
- 解决xp越来越慢的办法(其中有些自动备份的功能)
1.减少磁盘空间占用2.终止不常用的系统服务3.安全问题4.另外一些技巧 首先问一下,你是不是很想激活XP,不...准确的说你是不是想在ms的站上能够升级.如果答案是肯定的话,那我们就先来探讨一下安装 ...
- 支付宝RSA签名之Delphi实现
Delphi有个很大的问题就是,厂商的不作为(没有封装标准的Cipher类库),让大家自己造轮子. 今天的轮子就是RSA签名,由于Delphi没有封装Cipher类库,所以只的自己写了. 因为要在Fi ...
- FMX+Win32,窗口无法保持原样,应该是个bug
从FMX发布开始,一直有这问题,大家看看是不是一个bug,应该如何修复? 新建一个FMX Application,运行后,点击窗口标题栏右上角的“最大化”按钮,此时窗口是最大化的.在windows最底 ...
- TopFreeTheme精选免费模板【20130704】
今天我们给大家分享10个最新的主题模板,6款WordPress主题,3款Joomla模板,1款Magento主题.它们分别来自ThemeForest,RocketTheme,YooTheme.有需要的 ...