当前位置:主页 > 计算机电子书 > 程序设计 > C++ pdf电子书
深度探索C++对象模型

深度探索C++对象模型 PDF 清晰版

  • 更新:2020-05-11
  • 大小:11 MB
  • 类别:C++
  • 作者:(美)、Stanley、B.、Lippm
  • 出版:电子工业出版社
  • 格式:PDF

  • 资源介绍
  • 学习心得
  • 相关内容

深度探索C++对象模型》是由电子工业出版社出版的一本关于C++方面的书籍,作者是(美)、Stanley、B.、Lippm,主要介绍了关于C++、对象模型方面的知识内容,目前在C++类书籍综合评分为:8.5分。

书籍介绍

创作者Lippman参加设计方案了全球第一套C++编译程序cfront,这本书便是一位杰出的C++编译程序设计师向你论述他如何处理各种各样explicit(确立出現于C++程序代码中)和implicit(掩藏于程序代码身后)的C++语意。

深度探索C++对象模型》致力于C++面向对象编程编程设计的底层体制,包含化学结构式语意、暂时性目标的转化成、封裝、承继,及其虚拟——虚拟涵数和虚拟承继。这本书让你了解:一旦你可以掌握底层完成实体模型,你的程序代码将得到多么的大的高效率。Lippman回应了这些有关C++附加负载与复杂性的各种各样错误报告和知识点,但也指出在其中一些成本费和权益互换的确存有。他论述了各种各样的完成实体模型,指出他们的超进化之道以及实质要素。书里包含了C++领域模型的语意暗示着,并指出这一实体模型是怎样危害你的程序流程的。

针对C++底层体制很感兴趣的阅读者,这必定是一本给你大呼舒服的绝佳好书推荐。

目录

  • 本立道生(侯捷 译序) III
  • 目录 VII
  • 前言(Stanley B. Lippman) XIII
  • 第0章 导读(译者的话) XXV
  • 第1章 关于对象(Object Lessons) 1
  • 加上封装后的布局成本(Layout Costs for Adding Encapsulation) 5
  • 1.1 C++对象模式(The C++ Object Model) 6
  • 简单对象模型(A Simple Object Model) 7
  • 表格驱动对象模型(A Table-driven Object Model) 8
  • C++对象模型(The C++ Object Model) 9
  • 对象模型如何影响程序(How the Object Model Effects Programs) 13
  • 1.2 关键词所带来的差异(A Keyword Distinction) 15
  • 关键词的困扰 16
  • 策略性正确的struct(The Politically Correct Struct) 19
  • 1.3 对象的差异(An Object Distinction) 22
  • 指针的类型(The Type of a Pointer) 28
  • 加上多态之后(Adding Polymorphism) 29
  • 第2章 构造函数语意学(The Semantics of Constructors) 37
  • 2.1 Default Constructor的构造操作 39
  • “带有Default Constructor”的Member Class Object 41
  • “带有Default Constructor”的Base Class 44
  • “带有一个Virtual Function”的Class 44
  • “带有一个Virtual Base Class”的Class 46
  • 总结 47
  • 2.2 Copy Constructor的构造操作 48
  • Default Memberwise Initialization 49
  • Bitwise Copy Semantics(位逐次拷贝) 51
  • 不要Bitwise Copy Semantics! 53
  • 重新设定Virtual Table的指针 54
  • 处理Virtual Base Class Subobject 57
  • 2.3 程序转化语意学(Program Transformation Semantics) 60
  • 显式的初始化操作(Explicit Initialization) 61
  • 参数的初始化(Argument Initialization) 62
  • 返回值的初始化(Return Value Initialization) 63
  • 在使用者层面做优化(Optimization at the User Level) 65
  • 在编译器层面做优化(Optimization at the Compiler Level) 66
  • Copy Constructor:要还是不要? 72
  • 摘要 74
  • 2.4 成员们的初始化队伍(Member Initialization List) 74
  • 第3章 Data语意学(The Semantics of Data) 83
  • 3.1 Data Member的绑定(The Binding of a Data Member) 88
  • 3.2 Data Member的布局(Data Member Layout) 92
  • 3.3 Data Member的存取 94
  • Static Data Members 95
  • Nonstatic Data Members 97
  • 3.4 “继承”与Data Member 99
  • 只要继承不要多态(Inheritance without Polymorphism) 100
  • 加上多态(Adding Polymorphism) 107
  • 多重继承(Multiple Inheritance) 112
  • 虚拟继承(Virtual Inheritance) 116
  • 3.5 对象成员的效率(Object Member Efficiency) 124
  • 3.6 指向Data Members的指针(Pointer to Data Members) 129
  • “指向Members的指针”的效率问题 134
  • 第4章 Function语意学(The Semantics of Function) 139
  • 4.1 Member的各种调用方式 140
  • Nonstatic Member Functions(非静态成员函数) 141
  • Virtual Member Functions(虚拟成员函数) 147
  • Static Member Functions(静态成员函数) 148
  • 4.2 Virtual Member Functions(虚拟成员函数) 152
  • 多重继承下的Virtual Functions 159
  • 虚拟继承下的Virtual Functions 168
  • 4.3 函数的效能 170
  • 4.4 指向Member Function的指针(Pointer-to-Member Functions) 174
  • 支持“指向Virtual Member Functions”的指针 176
  • 在多重继承之下,指向Member Functions的指针 178
  • “指向Member Functions之指针”的效率 180
  • 4.5 Inline Functions 182
  • 形式参数(Formal Arguments) 185
  • 局部变量(Local Variables) 186
  • 第5章 构造、析构、拷贝语意学(Semantics of Construction,
  • Destruction, and Copy) 191
  • 纯虚函数的存在(Presence of a Pure Virtual Function) 193
  • 虚拟规格的存在(Presence of a Virtual Specification) 194
  • 虚拟规格中const的存在 195
  • 重新考虑class的声明 195
  • 5.1 “无继承”情况下的对象构造 196
  • 抽象数据类型(Abstract Data Type) 198
  • 为继承做准备 202
  • 5.2 继承体系下的对象构造 206
  • 虚拟继承(Virtual Inheritance) 210
  • vptr初始化语意学(The Semantics of the vptr Initialization) 213
  • 5.3 对象复制语意学(Object Copy Semantics) 219
  • 5.4 对象的效能(Object Efficiency) 225
  • 5.5 析构语意学(Semantics of Destruction) 231
  • 第6章 执行期语意学(Runtime Semantics) 237
  • 6.1 对象的构造和析构(Object Construction and Destruction) 240
  • 全局对象(Global Objects) 242
  • 局部静态对象(Local Static Objects) 247
  • 对象数组(Array of Objects) 250
  • Default Constructors和数组 252
  • 6.2 new和delete运算符 254
  • 针对数组的new语意 257
  • Placement Operator new的语意 263
  • 6.3 临时性对象(Temporary Objects) 267
  • 临时性对象的迷思(神话、传说) 275
  • 第7章 站在对象模型的尖端(On the Cusp of the Object Model) 279
  • 7.1 Template 280
  • Template的“实例化”行为(Template Instantiation) 281
  • Template的错误报告(Error Reporting within a Template) 285
  • Template中的名称决议法(Name Resolution within a Template) 289
  • Member Function的实例化行为(Member Function Instantiation) 292
  • 7.2 异常处理(Exception Handling) 297
  • Exception Handling快速检阅 298
  • 对Exception Handling的支持 303
  • 7.3 执行期类型识别(Runtime Type Identification,RTTI) 308
  • Type-Safe Downcast(保证安全的向下转换操作) 310
  • Type-Safe Dynamic Cast(保证安全的动态转换) 311
  • References并不是Pointers 313
  • Typeid运算符 314
  • 7.4 效率有了,弹性呢? 318
  • 动态共享函数库(Dynamic Shared Libraries) 318
  • 共享内存(Shared Memory) 318

资源获取

资源地址1:https://pan.baidu.com/s/1ZT8qwwiBdRYKsJrcboRPAg(密码:mrnc)

相关资源

网友留言