百度云及其他网盘下载地址:点我

编辑推荐

《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 标准库的异常时安全

百度云及其他网盘下载地址:点我

转载于:https://www.cnblogs.com/awesome-share/p/10056189.html

c++学习书籍推荐《C++程序设计语言(特别版)》下载相关推荐

  1. c++学习书籍推荐《Advanced C++》下载

    百度云及其他网盘下载地址:点我 作者简介 James Coplien先在威斯康星大学获得电气与计算机工程学士学位,后又在该大学获得计算机科学硕士学位.他在贝尔实验室的软件产品研发部门工作,在这个部门从 ...

  2. [读书笔记]《深度探索C++对象模型》

    文章目录 前言 思维导图 第一章 关于对象 第二章 构造函数语意学 构造函数 拷贝构造函数 初始化列表 第三章 Data 语意学 第四章 Function 语意学 非静态成员函数 静态成员函数 虚成员 ...

  3. 《深度探索C++对象模型(Inside The C++ Object Model )》学习笔记

    来源:http://dsqiu.iteye.com/blog/1669614 之前一直对C++内部的原理的完全空白,然后找到<Inside The C++ Object Model>这本书 ...

  4. 【量化】量化交易入门系列6:量化交易学习书籍推荐(二)

    作者:悠悠做神仙 来源: 恒生LIGHT云社区 上一篇 量化交易入门系列5:量化交易学习书籍推荐(一) 我们介绍一些量化交易一些操作和理论性书籍,可能对于刚入门的大家而言,可能有些枯燥.所以这篇文章, ...

  5. 解释:《深度探索C++对象模型》对NRV优化的讨论

    原文地址:http://blog.csdn.net/zha_1525515/article/details/7170059 感谢作者! 大纲: 函数返回局部对象的拷贝的一般实现方式. NRV(Name ...

  6. 《深度探索C++对象模型》:简单对象模型、表格驱动模型、C++对象模型

    前言 对象模型是深层结构知识,关系到"与语言无关.与平台无关.跨网络可执行"软件组件的基础. C++相对于精瘦的C来说,多了许多特性,正因如此,我们更有必要去探索.了解C++对象模 ...

  7. 《深度探索C++对象模型》--5 构造析构拷贝 6 执行期语意学

     <深度探索C++对象模型>--5构造.析构.拷贝语意学 1.纯虚函数: (1)C++可以定义和调用一个纯虚函数,不过只可以静态调用,不可以由虚拟机制调用. 注意:pure virtu ...

  8. 深度探索C++ 对象模型(7)-Data member的布局(虚继承)

    虚拟继承 namespace ObjectMultiDerived {class Point2d {public:// has virtual functionsvirtual void print( ...

  9. 深度探索C++ 对象模型(7)-Data member的布局(多重继承)

    多重继承 namespace ObjectMultiDerived {class Point2d {public:// has virtual functionsvirtual void print( ...

  10. 深度探索C++ 对象模型(7)-Data member的布局(无继承、继承无多态、继承多态、多层继承)

    无继承 继承无多态 继承多态 虚表 : 用来存放基类的每一个虚函数,再加上首位的一个slots(支持RTTI). 每个class object导入一个vptr,提供执行期的链接,使得每一个class ...

最新文章

  1. 香港中文大学 (深圳) -博士硕士招生 -智能优化及规划方向
  2. @SuppressWarnings注解用法
  3. python图像拼接过渡自然_python实现图像拼接功能
  4. 重构智能合约(中):平行宇宙与无限扩展
  5. 【Spring Boot】【Thymeleaf】The SpringStandard Dialect
  6. 如何从iTunes里取得移动设备的uuid
  7. 大流量场景下如何云淡风轻地进行线上发布?
  8. exception日志 php_PHP中错误与异常的日志记录用法分析
  9. 为什么越来越多的人喜欢自驾游?
  10. 关于前端学习和笔试面试的总结
  11. Linux中用st_mode判断文件类型
  12. 3U VPX导冷高性能SRIO/以太网数据交换板
  13. 【超全汇总】学习数据结构与算法,计算机基础知识,看这篇就够了
  14. 一个受人称赞的站点应该用最实新的策略来优化
  15. 使用外网访问Flask项目
  16. Linux节点释放,关于linux:如何释放Inode的使用量?
  17. 系统时变性与因果性的判断
  18. HTML5中常见的新语义化标签
  19. 硬也是一种态度!原来随身WIFI还能这么玩
  20. 初识HTML(五)进阶:CSS盒子模型、页面布局

热门文章

  1. 你好,CSDN!你好,C语言!
  2. C++实现积分函数(第一章)
  3. linux ubuntu系统 ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)数据
  4. APP开发接入广告平台及应用市场(应用分发平台)记录
  5. 学习网络安全应该具备哪些专业技能
  6. P5692 手牵手走向明天
  7. Excel图表—超级好用的Bullet图(KPI考核图)
  8. window、linux、mac 文件路径禁止字符, 路径长度【全网总结】
  9. Android设置系统时间和时区
  10. C# serialport串口接收数据异常,出现很多3F的解决方法