深度探索C++对象模型

深度探索C++对象模型
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (斯坦利·B.李普曼) ,
2012-01
版次: 1
ISBN: 9787121149528
定价: 69.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 356页
字数: 534千字
正文语种: 简体中文
原版书名: Inside the C++ Object Model
621人买过
  •   作者Lippman参与设计了全世界套C++编译程序cfront,这本书就是一位伟大的C++编译程序设计者向你阐述他如何处理各种explicit(明确出现于C++程序代码中)和implicit(隐藏于程序代码背后)的C++语意。
      《深度探索C++对象模型》专注于C++面向对象程序设计的底层机制,包括结构式语意、临时性对象的生成、封装、继承,以及虚拟——虚拟函数和虚拟继承。这《深度探索C++对象模型》让你知道:一旦你能够了解底层实现模型,你的程序代码将获得多么大的效率。Lippman澄清了那些关于C++额外负荷与复杂度的各种错误信息和迷思,但也指出其中某些成本和利益交换确实存在。他阐述了各式各样的实现模型,指出它们的进化之道及其本质因素。书中涵盖了C++对象模型的语意暗示,并指出这个模型是如何影响你的程序的。 作者:(美国)李普曼(Stanley B.Lippman) 译者:侯捷



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



    侯捷是汁算机技术书籍的作家、译者、书评人,著有《深入浅出MFC》、《多型与虚拟》、《STL源码剖析》、《无责任书评》三卷;翻译过众多脍炙人口的高阶技术书籍,包括Meyers所著的“Effective 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
    “带有一个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 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 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  Virtual 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)
    纯虚函数的存在(Presence of a Pure Virtual Function)
    虚拟规格的存在(Presence of a Virtual Specification)
    虚拟规格中const的存在
    重新考虑class的声明
    5.1 “无继承”情况下的对象构造
    抽象数据类型(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 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)
  • 内容简介:
      作者Lippman参与设计了全世界套C++编译程序cfront,这本书就是一位伟大的C++编译程序设计者向你阐述他如何处理各种explicit(明确出现于C++程序代码中)和implicit(隐藏于程序代码背后)的C++语意。
      《深度探索C++对象模型》专注于C++面向对象程序设计的底层机制,包括结构式语意、临时性对象的生成、封装、继承,以及虚拟——虚拟函数和虚拟继承。这《深度探索C++对象模型》让你知道:一旦你能够了解底层实现模型,你的程序代码将获得多么大的效率。Lippman澄清了那些关于C++额外负荷与复杂度的各种错误信息和迷思,但也指出其中某些成本和利益交换确实存在。他阐述了各式各样的实现模型,指出它们的进化之道及其本质因素。书中涵盖了C++对象模型的语意暗示,并指出这个模型是如何影响你的程序的。
  • 作者简介:
    作者:(美国)李普曼(Stanley B.Lippman) 译者:侯捷



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



    侯捷是汁算机技术书籍的作家、译者、书评人,著有《深入浅出MFC》、《多型与虚拟》、《STL源码剖析》、《无责任书评》三卷;翻译过众多脍炙人口的高阶技术书籍,包括Meyers所著的“Effective 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
    “带有一个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 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 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  Virtual 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)
    纯虚函数的存在(Presence of a Pure Virtual Function)
    虚拟规格的存在(Presence of a Virtual Specification)
    虚拟规格中const的存在
    重新考虑class的声明
    5.1 “无继承”情况下的对象构造
    抽象数据类型(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 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)
查看详情
相关图书 / 更多
深度探索C++对象模型
深度学习的数学——使用Python语言
[美]罗纳德·T.纽塞尔(Ronald T. Kneusel)
深度探索C++对象模型
深度工作(新):如何有效使用每一点脑力
(美)卡尔·纽波特 后浪
深度探索C++对象模型
深度阅读训练册5年级B版
深度阅读教学研究中心 编
深度探索C++对象模型
深度对话茅奖作家(1-11届)
舒晋瑜
深度探索C++对象模型
深度关系
武志红
深度探索C++对象模型
深度学习的理论基础与核心算法
焦李成,杨淑媛,刘芳,刘旭,田晨曦,侯彪,马文萍,尚荣华
深度探索C++对象模型
深度学习与神经网络
赵金晶 等
深度探索C++对象模型
深度阅读训练册2年级B版
深度阅读教学研究中心 编
深度探索C++对象模型
深度学习模型与算法基础
许庆阳、宋勇、张承进
深度探索C++对象模型
深度学习与波束形成:理论、方法与实践
郭业才
深度探索C++对象模型
深度学习——模型、算法优化与实战
张洪朋
深度探索C++对象模型
深度营销:成就营销领导力的12大原则(麦肯锡年度经管好书,12大原则揭秘营销本质,带好团队就是从领导力到影响力!)
(美) 托马斯·巴塔 (美) 帕特里克·巴韦斯 著 ,美同 译
您可能感兴趣 / 更多
深度探索C++对象模型
一个画家的旅程(一本讲述被誉为“美国艺术创始人”的传记绘本)
[美]哈德逊·塔尔伯特
深度探索C++对象模型
蒙特卡洛的密码锁(数学大师的逻辑课) 文教科普读物 [美]雷蒙德·m.斯穆里安(raymondm.smullyan)
[美]雷蒙德·m.斯穆里安(raymondm.smullyan)
深度探索C++对象模型
福尔摩斯的棋盘:关于国际象棋的推理题(数学大师的逻辑课)
[美]雷蒙德·m.斯穆里安
深度探索C++对象模型
你好,我是阿斯伯格女孩
[美]露迪·西蒙
深度探索C++对象模型
金钱游戏(划时代增订版):深层透析金融游戏表象之下的规则与黑箱 长达60年盘踞金融畅销榜的现象级作品
[美]亚当·史密斯(Adam Smith) 著;刘寅龙 译
深度探索C++对象模型
波西·杰克逊阿波罗的试炼系列第3册:烈焰迷宫
[美]雷克·莱尔顿 著;火皮豆 译
深度探索C++对象模型
新视界文库-生命故事:生物学上的伟大发现
[美]肖恩·B.卡罗尔
深度探索C++对象模型
托尔斯泰
[美]莉莎·克纳普(Liza Knapp)
深度探索C++对象模型
爱,浪漫和婚姻的99个重点
[美]江柏 德 著
深度探索C++对象模型
故事思维 商业管理 思维表达职场沟通人际交往
[美]安妮特·西蒙斯 后浪
深度探索C++对象模型
全球通史(全六册)(另一个角度的“全球通史”,不一样的视野与新知。以地理为骨,历史为肉,一部超级丰满的世界通史。)
[美]塞缪尔·古德里奇 译者:冷惠玲、冯佳娜、王小忠、孙丽霞、李江艳
深度探索C++对象模型
《星际争霸》动画影像艺术
[美]罗伯特·布鲁克斯