好书推荐 好书速递 排行榜 读书文摘

C++程序设计(原理与实践基础篇原书第2版)/计算机科学丛书

C++程序设计(原理与实践基础篇原书第2版)/计算机科学丛书
作者:[美] Bjarne Stroustrup
译者:任明明 / 王刚 / 李忠伟
副标题:原理与实践(基础篇)
出版社:机械工业出版社
出版年:2017-04
ISBN:9787111562252
行业:计算机
浏览数:15

内容简介

C++之父BjarneStroustrup的经典著作《C++程序设计:原理与实践(原书第2版)》基于新的C++11和C++14,广泛地介绍了程序设计的基本概念和技术,包括类型系统、算术运算、控制结构、错误处理等;介绍了从键盘和文件获取数值和文本数据的方法以及以图形化方式表示数值数据、文本和几何图形;介绍了C++标准库中的容器(如向量、列表、映射)和算法(如排序、查找和内积)的设计和使用。同时还对C++思想和历史进行了详细的讨论,很好地拓宽了读者的视野。为方便读者循序渐进地学习,加上篇幅所限,《C++程序设计:原理与实践(原书第2版)》分为基础篇和进阶篇两册出版,基础篇包括第1~11章、第17~19章和附录A、C,进阶篇包括第12~16章、第20~27章和附录B、D、E。本书是基础篇。本书通俗易懂、实例丰富,可作为大学计算机、电子工程、信息科学等相关专业的教材,也可供相关专业人员参考。

......(更多)

作者简介

作者:(美国)本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup) 译者:任明明 王刚 李忠伟

本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup),英国剑桥大学计算机科学博士,C++的设计者和最初的实现者。他现在是德州农工大学计算机科学首席教授。1993年,由于在C++领域的重大贡献,他获得了ACM的Grace Murray Hopper大奖并成为ACM院士。在进入学术界之前,他在AT&T贝尔实验室工作,是ISO C++标准委员会的创始人之一。

......(更多)

目录

出版者的话

译者序

前言

引言

作者简介

第1章计算机、人与程序设计

1.1简介

1.2软件

1.3人

1.4计算机科学

1.5计算机已无处不在

1.5.1有屏幕和无屏幕

1.5.2船舶

1.5.3电信

1.5.4医疗

1.5.5信息领域

1.5.6一种垂直的视角

1.5.7与C++程序设计有何联系

1.6程序员的理想境界

思考题

术语

习题

附言

第2章Hello,World!

2.1程序

2.2经典的第一个程序

2.3编译

2.4链接

2.5编程环境

简单练习

思考题

术语

习题

附言

第3章对象、类型和值

3.1输入

3.2变量

3.3输入和类型

3.4运算和运算符

3.5赋值和初始化

3.5.1实例:检测重复单词

3.6复合赋值运算符

3.6.1实例:重复单词计数

3.7命名

3.8类型和对象

3.9类型安全

3.9.1安全转换

3.9.2不安全转换

简单练习

思考题

术语

习题

附言

第4章计算

4.1简介

4.2目标和工具

4.3表达式

4.3.1常量表达式

4.3.2运算符

4.3.3类型转换

4.4语句

4.4.1选择语句

4.4.2循环语句

4.5函数

4.5.1为什么使用函数

4.5.2函数声明

4.6VeCtor

4.6.1遍历一个vector

4.6.2vector空间增长

4.6.3一个数值计算实例

4.6.4一个文本实例

4.7语言特性

简单练习

思考题

术语

习题

附言

第5章错误

5.1简介

5.2错误的来源

5.3编译时错误

5.3.1语法错误

5.3.2类型错误

5.3.3警告

5.4链接时错误

5.5运行时错误

5.5.1调用者处理错误

5.5.2被调用者处理错误

5.5.3报告错误

5.6异常

5.6.1参数错误

5.6.2范围错误

5.6.3输入错误

5.6.4窄化错误

5.7逻辑错误

5.8估计

5.9调试

5.9.1实用调试建议

5.10前置条件和后置条件

5.10.1后置条件

5.11测试

简单练习

思考题

术语

习题

附言

第6章编写一个程序

6.1一个问题

6.2对问题的思考

6.2.1程序设计的几个阶段

6.2.2策略

6.3回到计算器问题

6.3.1第一步尝试

6.3.2单词

6.3.3实现单词

6.3.4使用单词

6.3.5重新开始

6.4文法

6.4.1英文文法

6.4.2设计一个文法

6.5将文法转换为程序

6.5.1实现文法规则

6.5.2表达式

6.5.3项

6.5.4基本表达式

6.6试验第一个版本

6.7试验第二个版本

6.8单词流

6.8.1实现Tbken—stream

6.8.2读单词

6.8.3读数值

6.9程序结构

简单练习

思考题

术语

习题

附言

第7章完成一个程序

7.1简介

7.2输入和输出

7.3错误处理

7.4处理负数

7.5模运算%

7.6清理代码

7.6.1符号常量

7.6.2使用函数

7.6.3代码布局

7.6.4注释

7.7错误恢复

7.8变量

7.8.1变量和定义

7.8.2引入name单词

7.8.3预定义名字

7.8.4我们到达目的地了吗

简单练习

思考题

术语

习题

附言

第8章函数相关的技术细节

8.1技术细节

8.2声明和定义

8.2.1声明的类别

8.2.2变量和常量声明

8.2.3默认初始化

8.3头文件

8.4作用域

8.5函数调用和返回

8.5.1声明参数和返回类型

8.5.2返回一个值

8.5.3传值

8.5.4传常量引用

8.5.5传引用

8.5.6传值与传引用的对比

8.5.7参数检查和转换

8.5.8实现函数调用

8.5.9constexpr函数

8.6计算顺序

8.6.1表达式计算

8.6.2全局初始化

8.7名字空间

8.7.1using声明和using指令

简单练习

思考题

术语

习题

附言

第9章类相关的技术细节

9.1用户白定义类型

9.2类和成员

9.3接口和实现

9.4演化一个类

9.4.1结构和函数

9.4.2成员函数和构造函数

9.4.3保持细节私有性

9.4.4定义成员函数

9.4.5引用当前对象

9.4.6报告错误

9.5枚举类型

9.5.1“平坦”枚举

9.6运算符重载

9.7类接口

9.7.1参数类型

9.7.2拷贝

9.7.3默认构造函数

9.7.4const成员函数

9.7.5类成员和“辅助函数”

9.8Date类

简单练习

思考题

术语

习题

附言

第10章输入输出流

10.1输入和输出

10.2I/O流模型

10.3文件

10.4打开文件

10.5读写文件

10.6I/O错误处理

10.7读取单个值

10.7.1将程序分解为易管理的子模块

10.7.2将人机对话从函数中分离

10.8用户自定义输出运算符

10.9用户自定义输入运算符

10.10一个标准的输入循环

10.11读取结构化的文件

10.11.1在内存中的表示

10.11.2读取结构化的值

10.11.3改变表示方法

练习

思考题

术语

习题

附言

第11章定制输入输出

11.1有规律的与无规律的输入和输出

11.2格式化输出

11.2.1输出整数

11.2.2输入整数

11.2.3输出浮点数

11.2.4精度

11.2.5域

11.3打开和定位文件

11.3.1文件打开模式

11.3.2二进制文件

11.3.3在文件中定位

11.4字符串流

11.5面向行的输入

11.6字符分类

11.7使用非标准分隔符

11.8更多未讨论内容

简单练习

思考题

术语

习题

附言

第12章向量和自由空间

12.1简介

12.2vector的基本知识

12.3内存、地址和指针

12.3.1sizeof运算符

12.4自由空间和指针

12.4.1自由空间分配

12.4.2通过指针访问数据

12.4.3指针范围

12.4.4初始化

12.4.5空指针

12.4.6自由空间释放

12.5析构函数

12.5.1生成的析构函数

12.5.2析构函数和自由空间

12.6访问元素

12.7指向类对象的指针

12.8类型混用:void*和类犁转换

12.9指针和引用

12.9.1指针参数和引用参数

12.9.2指针、引用和继承

12.9.3实例:链表

12.9.4链表操作

12.9.5链表的使用

12.10this指针

12.10.1关于链表使用的更多讨论

简单练习

思考题

术语

习题

附言

第13章向量和数组

13.1简介

13.2初始化

13.3拷贝

13.3.1拷贝构造函数

13.3.2拷贝赋值

13.3.3拷贝术语

13.3.4移动

13.4必要的操作

13.4.1显式构造函数

13.4.2调试构造函数和析构函数

13.5访问vector元素

13.5.1对const向量重载运算符

13.6数组

13.6.1指向数组元素的指针

13.6.2指针和数组

13.6.3数组初始化

13.6.4指针问题

13.7实例:回文

13.7.1使用string实现回文

13.7.2使用数组实现回文

13.7.3使用指针实现回文

简单练习

思考题

术语

习题

附言

第14章向量、模板和异常

14.1问题

14.2改变大小

14.2.1表示方式

14.2.2reserve和capaclty

14.2.3resize

14.2.4push_back

14.2.5赋值

14.2.6到目前为止的vector类

14.3模板

14.3.1类型作为模板参数

14.3.2泛型编程

14.3.3概念

14.3.4容器和继承

14.3.5整数作为模板参数

14.3.6模板实参推断

14.3.7泛化vector

14.4范围检查和异常

14.4.1旁白:设计上的考虑

14.4.2坦白:使用宏

14.5资源和异常

14.5.1潜在的资源管理问题

14.5.2资源获取即初始化

14.5.3保证

14.5.4unique_ptr

14.5.5以移动方式返回结果

14.5.6vector类的RAⅡ

简单练习

思考题

术语

习题

附言

附录AC++语言概要

附录BVisual Studio简要入门教程

术语表

参考文献

......(更多)

读书文摘

......(更多)

猜你喜欢

点击查看