分享
 
 
 

深度探索 C++ 对象模型

  点此进入淘宝搜索页搜索
  特别声明:本站仅为商品信息简介,并不出售商品,您可点击文中链接进入淘宝网搜索页搜索该商品,有任何问题请与具体淘宝商家联系。
  參考價格: 点此进入淘宝搜索页搜索
  分類: 图书,计算机/网络,程序设计,C C++ C# VC VC++,

作者: (美)Stanley B. Lippman 著,侯捷 译

出 版 社: 华中科技大学出版社

出版时间: 2001-5-1字数: 350000版次: 1页数: 320印刷时间: 2006/08/01开本:印次:纸张: 胶版纸I S B N : 9787560924182包装: 平装编辑推荐

Inside The C++ Object Model专注于C++对象导向程序设计的底层机制,包括结构式语意、暂时性对象的生成、封装、继承,以及虚拟——虚拟函数和虚拟继承。这本书让你知道:一旦你能够了解底层实现模型,你的程序代码将获得多么大的效率。Lippman澄清了那些关于C++额外负荷与复杂度的各种错误信息和迷思,但也指出其中某些成本和利益交换确实存在。他阐述了各式各样的实现模型,指出它们的进化之道及其本质因素。本书涵盖了C++对象模型的语意暗示,并指出这个模型是如何影响你的程序的。

内容简介

本书重点:探索“对象导向程序所支持的C++对象模型”下的程序行为。对于“对象导向性质之基础实现技术”以及“各种性质背后的隐含利益交换”提供一个清楚的认识。检验由程序变形所带来的效率冲击。提供丰富的程序范例、图片,以及对象导向观念和底层对象模型之间的效率测量。

C++成山似海的书籍堆中,这一本不是婴幼儿奶粉,也不是较大婴儿奶粉,它是成人专用的低脂高钙特殊奶粉。

对于C++底层机制感兴趣的读者,这本书会给你“漫卷诗书喜欲狂”的感觉。

了解C++ Object Model,是学习Component Object Model的最短路线。

如果你是一位C++程序员,渴望对于底层知识获得一个完整的了解,那么Inside The C++ Object Model正适合你。

关于作者:Stanley Lippman目前是华特迪斯尼主题动画公司(Walt Disney Feature Animation)的主要软件工程师。他曾经在AT&T贝尔实验室领导cfront 3.0和2.1版的编译器开发小组。他也是贝尔实验室中由Bjame Stroustrup所领导的Foundation专案组中的一员,负责对象模型并研究C++程序开发环境。Stan著有极为成功的C++ Primer一书,也发表过许多C++方面的论文。Stan最近刚从C++ Report的编辑位置上“退隐”,他曾在那个位置上做了4年。他的C++论述遍及全球。

关于译者:侯捷,海峡两岸著名的电脑技术自由作家,对于技术的钻研和发表,有独特的品性与坚持。作品涵盖著、译、评三方面,散见于各种刊特、媒体、网站论坛,深受读者喜爱和尊敬。

作者简介

Stanley B.Lippman的职业是提供关于C++和面向对象的训练、咨询、设计和指导。他在成为一名独立咨询顾问之前,曾经是迪士尼动化公司的首席软件设计师。当他在AT&T Bell实验室的时候,领导了cfront 3.0版本和2.1版本的编译器开发组。他也是Bjarne Stroustrup领导的Bell实验室Foundation项目的成员之一,负责C++程序设计环境中的对象模型部分。他还撰写了许多关于C++的文章。目前他已受雇于微软公司,负责Visual C++项目。

目录

本立道生(侯捷 译序)

目录

前言(Stanley B.Lippman)

第0章 导读(译者的话)

第1章 关于对象(Object Lessons)

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

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

简单对象模型(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

“带有一个Virual Function”的Class

“带有一个virual 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 Semantics)

明确的初始化操作(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 Member

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 Virtual Member Functions(虚拟成员函数)

多重继承下的Virtual Functions

虚拟继承下的Virtual Functions

4.3 函数的效能

4.4 指向Member Functions的指针(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)

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

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

虚拟规格中const的存在

重新考虑class的声明

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

抽象数据类型(Abstract Data Type)

为继承做准备

5.2 继承体系下的对象构造

虚拟继承(Virtual Inheritance)

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

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

5.4 对象的功能(Object Efficiency)

5.5 解构语意学(Semantics of Destruction)

第6章 执行期语意学(Runting 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 Object Model)

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)

媒体评论

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有