《C++语义和性能分析》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:杨镰
  • 出 版 社:武汉:华中科技大学出版社
  • 出版年份:2017
  • ISBN:9787568033299
  • 页数:204 页
图书介绍:C++是近代计算机程序设计语言的奇葩。他的语言表达能力加运行性能的综合指标,无疑居于所有基于VMA(冯-诺曼架构)的高级语言的巅峰之列。随着C++11的发布,和高性能计算的兴起,以及移动终端的普及,C++的重要性再一次引起计算机世界的关注和重视。 本书旨在填补C++语义精确描述和性能量化这一重要的空白, 希望成为这个领域里目前最综合,最深入的一部著作。1.C++语言简史 2.语义分析方法 3.C++型系统及其语义 4.C++变量及其语义 5.OOP语义及性能 6.C++与冯-洛伊曼架构

第1章 C++简史 1

1.1 C++的历史背景 1

1.2 C++大事记 5

1.2.1 1979年:C with classes诞生 5

1.2.2 1983年8月:C++正式命名 6

1.2.3 1986年:《The C++ Programming Language》出版 7

1.2.4 1987年:C++2.0发布 7

1.2.5 1990年:《The Annotated C++ Reference Manual》出版 8

1.2.6 1994年:STL诞生 8

1.2.7 1998年:ISO C++正式通过 9

1.2.8 2011年:C++11颁布 9

1.3 C++的进化和改进理念 10

1.4 C++的历史贡献及未来 11

第2章 程序设计语言的语义 14

2.1 哲学基础 14

2.2 语义的形式化描述 14

2.3 操作性语义 16

2.4 语义描述涉及的主要元素 17

第3章 C++类型系统 19

3.1 类型系统简介 19

3.2 数据类型的表达规则 21

3.2.1 基本数据类型的表达规则 22

3.2.2 用户自定义类型的表达规则 23

3.3 类型实例的构造规则 25

3.3.1 类型和类型实例 25

3.3.2 类型实例的构造和析构 27

3.4 类型的操作规则 33

3.4.1 context 33

3.4.2 函数 34

3.4.3 过程 35

3.4.4 过程函数 35

3.4.5 方法 36

3.4.6 特别讨论:过程方法的自动机诠释 37

3.4.7 运算符 38

3.5 C++类型系统的特征 39

3.5.1 特征1:支持OOP 39

3.5.2 特征2:强静态类型 40

3.5.3 特征3:UDT是一等公民 41

3.5.4 特征4:类型清除 45

3.5.5 特征5:支持模板 49

3.5.6 特征6:指针和REF 53

3.5.7 特征7:类型修正符 60

3.6 其他(非C++)类型系统 62

3.7 类型系统的意义和用途 62

3.7.1 程序的精确性保障 62

3.7.2 性能的可保障性 64

第4章 C++变量语义 66

4.1 变量简介 66

4.2 C++变量的属性 68

4.2.1 C++变量的存储属性 68

4.2.2 C++变量的值语义 95

4.2.3 C++变量的自洽性 105

4.2.4 C++变量的总分性 108

4.2.5 C++变量的多态性 112

4.3 临时变量 113

第5章 C++对OOP的支持 116

5.1 object的内存布局 117

5.2 继承 119

5.2.1 继承object的内存布局 123

5.2.2 多继承 128

5.2.3 继承类object的语义规则 130

5.3 多态类和多态变量 137

5.4 C++对抽象的支持 139

第6章 C++性能分析 141

6.1 性能分析原理 141

6.2 算法的重要性 149

6.3 RAM内存读取的性能 153

6.3.1 单线程heap管理器 154

6.3.2 定制化heap管理系统 157

6.4 关于缓存 164

6.5 关于I/O 175

6.6 C++的特殊性能问题 176

6.6.1 临时变量的性能问题 176

6.6.2 STL容器 180

6.6.3 Type Erasure 185

6.6.4 异常处理 187

6.6.5 继承的性能问题 194

6.6.6 直接函数、间接函数、内联函数 200

参考文献 204