C++语言的设计和演化(作者:[美] Bjarne Stroustrup)译者: 裘宗燕
内容简介 本书是C++的设计者关于C++语言的最主要著作之一。作者综合性地论述了C++的发展历史,C++中各种重要机制的本质意义和设计背景,这些机制的基本用途和使用方法,讨论了C++所适合的应用领域及其未来的发展前景。全书共18章,分两大部分,其中第1部分(第1~9章)分别介绍了C++的史前时代、C with Classes、C++的诞生、C++语言设计规则、1985—1993年表、标准化、关注和使用、库、展望;第2部分(第10~18章)分别介绍了存储管理、重载、多重继承、类概念的精练、强制转换、模板、异常处理、名称空间、C语言预处理器。为便于查找与学习,全书最后附有专业术语索引。本书在帮助人们理解C++语言方面的作用是不可替代的。书面向每个学习和关注C++语言的专业工作者、科研人员、教师及学生。 编辑本段 目录 部分章节目录: 第1部分 第1章 C++的史前时代17 1.1 Simula和分布式系统17 1.2 C与系统程序设计19 1.3 一般性的背景20 第2章 C with Classes23 2.1 C with Classes的诞生23 2.2 特征概览25 2.3 类26 2.4 运行时的效率28 2.5 连接模型30 2.5.1 纯朴的实现32 2.5.2 对象连接模型33 2.6 静态类型检查35 2.6.1 窄转换36 2.6.2 警告的使用36 2.7 为什么是C37 2.8 语法问题39 2.8.1 C声明的语法39 2.8.2 结构标志与类型名41 2.8.3 语法的重要性42 2.9 派生类42 2.9.1 没有虚函数时的多态性43 2.9.2 没有模板时的容器类44 2.9.3 对象的布局模型45 2.9.4 回顾46 2.10 保护模型46 2.11 运行时的保证48 2.11.1 构造函数与析构函数49 2.11.2 存储分配和构造函数49 2.11.3 调用函数和返回函数50 2.12 次要特征50 2.12.1 赋值的重载50 2.12.2 默认实参51 2.13 考虑过,但是没有提供的特征52 2.14 工作环境52 第3章 C++的诞生55 3.1 从C with Classes到C++55 3.2 目标57 3.3 Cfront58 3.3.1 生成C59 3.3.2 分析C++60 3.3.3 连接问题61 3.3.4 Cfront发布61 3.4 语言特征63 3.5 虚函数63 3.5.1 对象布局模型66 3.5.2 覆盖和虚函数匹配67 3.5.3 基成员的遮蔽68 3.6 重载68 3.6.1 基本重载70 3.6.2 成员和友元71 3.6.3 运算符函数73 3.6.4 效率和重载73 3.6.5 变化和新运算符75 3.7 引用75 3.8 常量78 3.9 存储管理80 3.10 类型检查81 3.11 次要特征82 3.11.1 注释82 3.11.2 构造函数的记法82 3.11.3 限定83 3.11.4 全局变量的初始化84 3.11.5 声明语句87 3.12 与经典C的关系88 3.13 语言设计工具91 3.14 《C++程序设计语言》(第一版)92 3.15 有关“什么是”的论文93 第4章 C++语言设计规则96 4.1 规则和原理96 4.2 一般性规则97 4.3 设计支持规则100 4.4 语言的技术性规则103 4.5 低级程序设计支持规则106 4.6 最后的话108 第5章 1985—1993年表109 5.1 引言109 5.2 Release 2.0110 5.3 带标注的参考手册(ARM)112 5.4 ANSI和ISO标准化114 第6章 标准化118 6.1 什么是标准118 6.1.1 实现细节119 6.1.2 现实的检查120 6.2 委员会如何运作121 6.3 净化123 6.3.1 查找问题123 6.3.2 临时量的生存期127 6.4 扩充130 6.4.1 评价准则133 6.4.2 状况134 6.4.3 好扩充的问题136 6.4.4 一致性137 6.5 扩充建议实例137 6.5.1 关键词实参137 6.5.2 受限指针141 6.5.3 字符集142 第7章 关注和使用146 7.1 关注和使用的爆炸性增长146 7.1.1 C++市场的缺位147 7.1.2 会议148 7.1.3 杂志和书籍148 7.1.4 编译器149 7.1.5 工具和环境149 7.2 C++的教与学150 7.3 用户和应用156 7.3.1 早期用户156 7.3.2 后来的用户156 7.4 商业竞争157 7.4.1 传统语言158 7.4.2 更新一些的语言158 7.4.3 期望和看法159 纯朴的实现32 2.5.2 对象连接模型33 2.6 静态类型检查35 2.6.1 窄转换36 2.6.2 警告的使用36 2.7 为什么是C37 2.8 语法问题39 2.8.1 C声明的语法39 2.8.2 结构标志与类型名41 2.8.3 语法的重要性42 2.9 派生类42 2.9.1 没有虚函数时的多态性43 2.9.2 没有模板时的容器类44 2.9.3 对象的布局模型45 2.9.4 回顾46 2.10 保护模型46 2.11 运行时的保证48 2.11.1 构造函数与析构函数49 2.11.2 存储分配和构造函数49 2.11.3 调用函数和返回函数50 2.12 次要特征50 2.12.1 赋值的重载50 2.12.2 默认实参51 2.13 考虑过,但是没有提供的特征52 2.14 工作环境52 第3章 C++的诞生55 3.1 从C with Classes到C++55 3.2 目标57 3.3 Cfront58 3.3.1 生成C59 3.3.2 分析C++60 3.3.3 连接问题61 3.3.4 Cfront发布61 3.4 语言特征63 3.5 虚函数63 3.5.1 对象布局模型66 3.5.2 覆盖和虚函数匹配67 3.5.3 基成员的遮蔽68 3.6 重载68 3.6.1 基本重载70 3.6.2 成员和友元71 3.6.3 运算符函数73 3.6.4 效率和重载73 3.6.5 变化和新运算符75 3.7 引用75 3.8 常量78 3.9 存储管理80 3.10 类型检查81 3.11 次要特征82 3.11.1 注释82 3.11.2 构造函数的记法82 3.11.3 限定83 3.11.4 全局变量的初始化84 3.11.5 声明语句87 3.12 与经典C的关系88 3.13 语言设计工具91 3.14 《C++程序设计语言》(第一版)92 3.15 有关“什么是”的论文93 第4章 C++语言设计规则96 4.1 规则和原理96 4.2 一般性规则97 4.3 设计支持规则100 4.4 语言的技术性规则103 4.5 低级程序设计支持规则106 4.6 最后的话108 第5章 1985—1993年表109 5.1 引言109 5.2 Release 2.0110 5.3 带标注的参考手册(ARM)112 5.4 ANSI和ISO标准化114 第6章 标准化118 6.1 什么是标准118 6.1.1 实现细节119 6.1.2 现实的检查120 6.2 委员会如何运作121 6.3 净化123 6.3.1 查找问题123 6.3.2 临时量的生存期127 6.4 扩充130 6.4.1 评价准则133 6.4.2 状况134 6.4.3 好扩充的问题136 6.4.4 一致性137 6.5 扩充建议实例137 6.5.1 关键词实参137 6.5.2 受限指针141 6.5.3 字符集142 第7章 关注和使用146 7.1 关注和使用的爆炸性增长146 7.1.1 C++市场的缺位147 7.1.2 会议148 7.1.3 杂志和书籍148 7.1.4 编译器149 7.1.5 工具和环境149 7.2 C++的教与学150 7.3 用户和应用156 7.3.1 早期用户156 7.3.2 后来的用户156 7.4 商业竞争157 7.4.1 传统语言158 7.4.2 更新一些的语言158 7.4.3 期望和看法159
用户评论