万本电子书0元读

万本电子书0元读

顶部广告

深度探索C++对象模型电子书

售       价:¥

纸质售价:¥54.50购买纸书

378人正在读 | 0人评论 6.5

作       者:(美)Stanley B. Lippman (斯坦利·B.·李普曼)

出  版  社:电子工业出版社

出版时间:2012-01-01

字       数:17.0万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
作者Lippman参与设计了全世界*套C 编译程序cfront,这本书就是一位伟大的C 编译程序设计者向你阐述他如何处理各种explicit(明确出现于C 程序代码中)和implicit(隐藏于程序代码背后)的C 语意。本书专注于C 面向对象程序设计的底层机制,包括结构式语意、临时性对象的生成、封装、继承,以及虚拟——虚拟函数和虚拟继承。这本书让你知道:一旦你能够了解底层实现模型,你的程序代码将获得多么大的效率。Lippman澄清了那些关于C 额外负荷与复杂度的各种错误信息和迷思,但也指出其中某些成本和利益交换确实存在。他阐述了各式各样的实现模型,指出它们的化之道及其本质因素。书中涵盖了C 对象模型的语意暗示,并指出这个模型是如何影响你的程序的。<br/>【推荐语】<br/>如果你是一位C 程序员,渴望对于底层知识获得一个完整的了解,那么本书正适合你。<br/>
目录展开

内容简介

本立道生(侯捷 译序)

前言

第0章 导读(译者的话)

第1章 关于对象(Object Lessons)

1.1 C++对象模式(The C++Object Model)

加上封装后的布局成本(Layout Costs for Adding Encapsulation)

简单对象模型(A Simple Object Model)

表格驱动对象模型(A Table-driven Object Model)

C++对象模型(The C++Object Model)

对象模型如何影响程序(How the Object Model Effects Programs)

1.2 关键词所带来的差异(A Keyword Distinction)

关键词的困扰

策略性正确的 struct(The Politically Correct Struct)

1.3 对象的差异(An Object Distinction)

指针的类型(The Type of a Pointer)

加上多态之后(Adding Polymorphism)

第2章 构造函数语意学(The Semantics of Constructors)

2.1 Default Constructor的构造操作

“带有 Default Constructor”的 Member Class Object

“带有 Default Constructor”的 Base Class

“带有一个 Virtual Function”的 Class

“带有一个 Virtual Base Class”的 Class

总结

2.2 Copy Constructor的构造操作

Default Memberwise Initialization

Bitwise Copy Semantics(位逐次拷贝)

不要 Bitwise Copy Semantics!

重新设定 Virtual Table的指针

处理 Virtual Base Class Subobject

2.3 程序转化语意学(Program Transformation

显式的初始化操作(Explicit Initialization)

参数的初始化(Argument Initialization)

返回值的初始化(Return Value Initialization)

在使用者层面做优化(Optimization at the User Level)

在编译器层面做优化(Optimization at the Compiler Level)

Copy Constructor:要还是不要?

摘要

2.4 成员们的初始化队伍(Member Initialization List)

第3章 Data语意学(The Semantics of Data)

3.1 Data Member的绑定(The Binding of a Data Member)

3.2 Data Member的布局(Data Member Layout)

3.3 Data Member的存取

Static Data Members

Nonstatic Data Members

3.4 “继承”与Data Member

只要继承不要多态(Inheritance without Polymorphism)

加上多态(Adding Polymorphism)

多重继承(Multiple Inheritance)

虚拟继承(Virtual Inheritance)

3.5 对象成员的效率(Object Member Efficiency)

3.6 指向Data Members的指针(Pointer to Data Members)

“指向 Members的指针”的效率问题

第4章 Function语意学(The Semantics of Function)

4.1 Member 的各种调用方式

Nonstatic Member Functions(非静态成员函数)

Virtual Member Functions(虚拟成员函数)

Static Member Functions(静态成员函数)

4.2 V irtual Member Functions(虚拟成员函数)

多重继承下的 Virtual Functions

虚拟继承下的 Virtual Functions

4.3 函数的效能

4.4 指向Member Function的指针Pointer-to-Member Functions

支持“指向 Virtual Member Functions”的指针

在多重继承之下,指向 Member Functions的指针

“指向 Member Functions之指针”的效率

4.5 Inline Functions

形式参数(Formal Arguments)

局部变量(Local Variables)

第5章 构造、析构、拷贝语意学(Semantics of Construction,Destruction,and Copy)

5.1 “无继承”情况下的对象构造

纯虚函数的存在(Presence of a Pure Virtual Function)

虚拟规格的存在(Presence of a Virtual Specification)

虚拟规格中 const的存在

重新考虑 class的声明

抽象数据类型(Abstract Data Type)

为继承做准备

5.2 继承体系下的对象构造

虚拟继承(Virtual Inheritance)

vptr初始化语意学(The Semantics of the vptr Initialization)

5.3 对象复制语意学(Object Copy Semantics)

5.4 对象的效能(Object Efficiency)

5.5 析构语意学(Semantics of Destruction)

第6章 执行期语意学(Runtime Semantics)

6.1 对象的构造和析构(Object Construction and Destruction)

全局对象(Global Objects)

局部静态对象(Local Static Objects)

对象数组(Array of Objects)

Default Constructors和数组

6.2 new 和delete运算符

针对数组的 new语意

Placement Operator new的语意

6.3 临时性对象(Temporary Objects)

临时性对象的迷思(神话、传说)

第7章 站在对象模型的尖端(On the Cusp of the ObjectModel)

7.1 Template

Template的“实例化”行为(Template Instantiation)

Template的错误报告(Error Reporting within a Template)

Template中的名称决议法(Name Resolution within a Template)

Member Function的实例化行为(Member Function Instantiation)

7.2 异常处理(Exception Handling)

Exception Handling快速检阅

对 Exception Handling的支持

7.3 执行期类型识别(Runtime Type Identification,RTTI)

Type-Safe Downcast(保证安全的向下转换操作)

Type-Safe Dynamic Cast(保证安全的动态转换)

References并不是 Pointers

Typeid运算符

7.4 效率有了,弹性呢?

动态共享函数库(Dynamic Shared Libraries)

共享内存(Shared Memory)

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部