深度探索C++对象模型

深度探索C++对象模型
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: ,
2007-05
版次: 1
ISBN: 9787560924182
定价: 54.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 320页
原版书名: Inside the C++ Object Model
  •   《深度探索C++对象模型》重点:探索"对象导向程序所支持的C++对象模型"下的程序行为。对于"对象导向性质之基础实现技术"以及"各种性质背后的隐含利益交换"提供一个清楚的认识。检验由程序变形所带来的效率冲击。提供丰富的程序范例、图片,以及对象导向观念和底层对象模型之间的效率测量。InsideTheC++ObjectModel专注于C++对象导向程序设计的底层机制,包括结构式语意、暂时性对象的生成、封装、继承,以及虚拟——虚拟函数和虚拟继承。这《深度探索C++对象模型》让你知道:一旦你能够了解底层实现模型,你的程序代码将获得多么大的效率。Lippman澄清了那些关于C++额外负荷与复杂度的各种错误信息和迷思,但也指出其中某些成本和利益交换确实存在。他阐述了各式各样的实现模型,指出它们的进化之道及其本质因素。   StanleyLippman目前是华特迪斯尼主题动画公司(WaltDisneyFeatureAnimation)的主要软件工程师。他曾经在AT&T贝尔实验室领导cfront3.0和2.1版的编译器开发小组。他也是贝尔实验室中由BjameStroustrup所领导的Foundation专案组中的一员,负责对象模型并研究C++程序开发环境。Stan著有极为成功的C++Primer一书,也发表过许多C++方面的论文。Stan最近刚从C++Report的编辑位置上“退隐”,他曾在那个位置上做了4年。他的C++论述遍及全球。
      侯捷,海峡两岸著名的电脑技术自由作家,对于技术的钻研和发表,有独特的品性与坚持。作品涵盖著、译、评三方面,散见于各种刊特、媒体、网站论坛,深受读者喜爱和尊敬。 本立道生(侯捷译序)
    目录
    前言(StanleyB.Lippman)

    第0章导读(译者的话)

    第1章关于对象(ObjectLessons)

    加上封装后的布局成本(LayoutCostsforAddingEncapsulation)
    1.1C++模式模式(TheC++ObjectModel)
    简单对象模型(ASimpleObjectModel)
    表格驱动对象模型(ATable-drivenObjectModel)
    C++对象模型(TheC++ObjectModel)
    对象模型如何影响程序(HowtheObjectModelEffectsPrograms)
    1.2关键词所带来的差异(AKeywordDistinction)
    关键词的困扰
    策略性正确的struct(ThePoliticallyCorrectStruct)
    1.3对象的差异(AnObjectDistinction)
    指针的类型(TheTypeofaPointer)
    加上多态之后(AddingPolymorphism)

    第2章构造函数语意学(TheSemanticsofconstructors)

    2.1DefaultConstructor的建构操作
    “带有DefaultConstructor”的MemberClassObject
    “带有DefaultConstructor”的BaseClass
    “带有一个VirualFunction”的Class
    “带有一个virualBaseclass”的Class
    总结
    2.2CopyConstructor的建构操作
    DefaultMemberwiseInitialization
    BitwiseCopySemantics(位逐次拷贝)
    不要BitwiseCopySemantics!
    重新设定的指针VirtualTable
    处理VirtualBaseClassSubobject
    2.3程序转换语意学(ProgramTransformationSemantics)
    明确的初始化操作(ExplicitInitialization)
    参数的初始化(ArgumentInitialization)
    返回值的初始化(ReturnValueInitialization)
    在使用者层面做优化(OptimizationattheuserLevel)
    在编译器层面做优化(OptimizationattheCompilerLevel)
    CopyConstructor:要还是不要?
    摘要
    2.4成员们的初始化队伍(MemberInitializationList)

    第3章Data语意学(TheSemanticsofData)

    3.1DataMember的绑定(TheBindingofaDataMember)
    3.2DataMember的布局(DataMemberLayout)
    3.3DataMember的存取
    StaticDataMembers
    NonstaticDataMember
    3.4“继承”与DataMember
    只要继承不要多态(InheritancewithoutPolymorphism)
    加上多态(AddingPolymorphism)
    多重继承(MultipleInheritance)
    虚拟继承(VirtualInheritance)
    3.5对象成员的效率(ObjectMemberEfficiency)
    3.6指向DataMembers的指针(PointertoDataMembers)
    “指向Members的指针”的效率问题

    第4章Function语意学(TheSemanticsofFunction)

    4.1Member的各种调用方式
    NonstaticMemberFunctions(非静态成员函数)
    VirtualMemberFunctions(虚拟成员函数)
    StaticMemberFunctions(静态成员函数)
    4.2VirtualMemberFunctions(虚拟成员函数)
    多重继承下的VirtualFunctions
    虚拟继承下的VirtualFunctions
    4.3函数的效能
    4.4指向MemberFunctions的指针(Pointer-to-MemberFunctions)
    支持“指向VirtualMemberFunctions”之指针
    在多重继承之下,指向MemberFunctions的指针
    “指向MemberFunctions之指针”的效率
    4.5InlineFunctions
    形式对数(FormalArguments)
    局部变量(LocalVariables)

    第5章构造、解构、拷贝语意学(SemanticsofConstruction,Destruction,andCopy)

    纯虚拟函数的存在(PresenceofaPureVirtualFunction)
    虚拟规格的存在(PresenceofaVirtualSpecification)
    虚拟规格中const的存在
    重新考虑class的声明
    5.1无继承情况下的对象构造
    抽象数据类型(AbstractDataType)
    为继承做准备
    5.2继承体系下的对象构造
    虚拟继承(VirtualInheritance)
    初始化语意学(TheSemanticsofthevptrInitialization)
    5.3对象复制语意学(ObjectCopySemantics)
    5.4对象的功能(ObjectEfficiency)
    5.5解构语意学(SemanticsofDestruction)

    第6章执行期语意学(RuntingSemantics)

    6.1对象的构造和解构(ObjectConstructionandDestruction)
    全局对象(GlobalObjects)
    局部静态对象(LocalStaticObjects)
    对象数组(ArrayofObjects)
    DefaultConstructors和数组
    6.2new和delete运算符
    针对数组的new语意
    PlacementOperatornew的语意
    6.3临时性对象(TemporaryObjects)
    临时性对象的迷思(神话、传说)

    第7章站在对象模型的类端(OntheCuspoftheObjectModel)

    7.1Template
    Template的“具现”行为(TemplateInstantiation)
    Template的错误报告(ErrorReportingwithinaTemplate)
    Template中的名称决议方式(NameResolutionwithinaTemplate)
    MemberFunction的具现行为(MemberFunctionInstantiation)
    7.2异常处理(ExceptionHandling)
    ExceptionHandling快速检阅
    对ExceptionHandling的支持
    7.3执行期类型识别(RuntimeTypeIdentification,RTTI)
    Type-SafeDowncast(保证安全的向下转型操作)
    Type-SafeDynamicCast(保证安全的动态转型)
    References并不是Pointers
    Typeid运算符
    7.4效率有了,弹性呢?
    动态共享函数库(DynamicSharedLibraries)
    共享内存(SharedMemory)
  • 内容简介:
      《深度探索C++对象模型》重点:探索"对象导向程序所支持的C++对象模型"下的程序行为。对于"对象导向性质之基础实现技术"以及"各种性质背后的隐含利益交换"提供一个清楚的认识。检验由程序变形所带来的效率冲击。提供丰富的程序范例、图片,以及对象导向观念和底层对象模型之间的效率测量。InsideTheC++ObjectModel专注于C++对象导向程序设计的底层机制,包括结构式语意、暂时性对象的生成、封装、继承,以及虚拟——虚拟函数和虚拟继承。这《深度探索C++对象模型》让你知道:一旦你能够了解底层实现模型,你的程序代码将获得多么大的效率。Lippman澄清了那些关于C++额外负荷与复杂度的各种错误信息和迷思,但也指出其中某些成本和利益交换确实存在。他阐述了各式各样的实现模型,指出它们的进化之道及其本质因素。
  • 作者简介:
      StanleyLippman目前是华特迪斯尼主题动画公司(WaltDisneyFeatureAnimation)的主要软件工程师。他曾经在AT&T贝尔实验室领导cfront3.0和2.1版的编译器开发小组。他也是贝尔实验室中由BjameStroustrup所领导的Foundation专案组中的一员,负责对象模型并研究C++程序开发环境。Stan著有极为成功的C++Primer一书,也发表过许多C++方面的论文。Stan最近刚从C++Report的编辑位置上“退隐”,他曾在那个位置上做了4年。他的C++论述遍及全球。
      侯捷,海峡两岸著名的电脑技术自由作家,对于技术的钻研和发表,有独特的品性与坚持。作品涵盖著、译、评三方面,散见于各种刊特、媒体、网站论坛,深受读者喜爱和尊敬。
  • 目录:
    本立道生(侯捷译序)
    目录
    前言(StanleyB.Lippman)

    第0章导读(译者的话)

    第1章关于对象(ObjectLessons)

    加上封装后的布局成本(LayoutCostsforAddingEncapsulation)
    1.1C++模式模式(TheC++ObjectModel)
    简单对象模型(ASimpleObjectModel)
    表格驱动对象模型(ATable-drivenObjectModel)
    C++对象模型(TheC++ObjectModel)
    对象模型如何影响程序(HowtheObjectModelEffectsPrograms)
    1.2关键词所带来的差异(AKeywordDistinction)
    关键词的困扰
    策略性正确的struct(ThePoliticallyCorrectStruct)
    1.3对象的差异(AnObjectDistinction)
    指针的类型(TheTypeofaPointer)
    加上多态之后(AddingPolymorphism)

    第2章构造函数语意学(TheSemanticsofconstructors)

    2.1DefaultConstructor的建构操作
    “带有DefaultConstructor”的MemberClassObject
    “带有DefaultConstructor”的BaseClass
    “带有一个VirualFunction”的Class
    “带有一个virualBaseclass”的Class
    总结
    2.2CopyConstructor的建构操作
    DefaultMemberwiseInitialization
    BitwiseCopySemantics(位逐次拷贝)
    不要BitwiseCopySemantics!
    重新设定的指针VirtualTable
    处理VirtualBaseClassSubobject
    2.3程序转换语意学(ProgramTransformationSemantics)
    明确的初始化操作(ExplicitInitialization)
    参数的初始化(ArgumentInitialization)
    返回值的初始化(ReturnValueInitialization)
    在使用者层面做优化(OptimizationattheuserLevel)
    在编译器层面做优化(OptimizationattheCompilerLevel)
    CopyConstructor:要还是不要?
    摘要
    2.4成员们的初始化队伍(MemberInitializationList)

    第3章Data语意学(TheSemanticsofData)

    3.1DataMember的绑定(TheBindingofaDataMember)
    3.2DataMember的布局(DataMemberLayout)
    3.3DataMember的存取
    StaticDataMembers
    NonstaticDataMember
    3.4“继承”与DataMember
    只要继承不要多态(InheritancewithoutPolymorphism)
    加上多态(AddingPolymorphism)
    多重继承(MultipleInheritance)
    虚拟继承(VirtualInheritance)
    3.5对象成员的效率(ObjectMemberEfficiency)
    3.6指向DataMembers的指针(PointertoDataMembers)
    “指向Members的指针”的效率问题

    第4章Function语意学(TheSemanticsofFunction)

    4.1Member的各种调用方式
    NonstaticMemberFunctions(非静态成员函数)
    VirtualMemberFunctions(虚拟成员函数)
    StaticMemberFunctions(静态成员函数)
    4.2VirtualMemberFunctions(虚拟成员函数)
    多重继承下的VirtualFunctions
    虚拟继承下的VirtualFunctions
    4.3函数的效能
    4.4指向MemberFunctions的指针(Pointer-to-MemberFunctions)
    支持“指向VirtualMemberFunctions”之指针
    在多重继承之下,指向MemberFunctions的指针
    “指向MemberFunctions之指针”的效率
    4.5InlineFunctions
    形式对数(FormalArguments)
    局部变量(LocalVariables)

    第5章构造、解构、拷贝语意学(SemanticsofConstruction,Destruction,andCopy)

    纯虚拟函数的存在(PresenceofaPureVirtualFunction)
    虚拟规格的存在(PresenceofaVirtualSpecification)
    虚拟规格中const的存在
    重新考虑class的声明
    5.1无继承情况下的对象构造
    抽象数据类型(AbstractDataType)
    为继承做准备
    5.2继承体系下的对象构造
    虚拟继承(VirtualInheritance)
    初始化语意学(TheSemanticsofthevptrInitialization)
    5.3对象复制语意学(ObjectCopySemantics)
    5.4对象的功能(ObjectEfficiency)
    5.5解构语意学(SemanticsofDestruction)

    第6章执行期语意学(RuntingSemantics)

    6.1对象的构造和解构(ObjectConstructionandDestruction)
    全局对象(GlobalObjects)
    局部静态对象(LocalStaticObjects)
    对象数组(ArrayofObjects)
    DefaultConstructors和数组
    6.2new和delete运算符
    针对数组的new语意
    PlacementOperatornew的语意
    6.3临时性对象(TemporaryObjects)
    临时性对象的迷思(神话、传说)

    第7章站在对象模型的类端(OntheCuspoftheObjectModel)

    7.1Template
    Template的“具现”行为(TemplateInstantiation)
    Template的错误报告(ErrorReportingwithinaTemplate)
    Template中的名称决议方式(NameResolutionwithinaTemplate)
    MemberFunction的具现行为(MemberFunctionInstantiation)
    7.2异常处理(ExceptionHandling)
    ExceptionHandling快速检阅
    对ExceptionHandling的支持
    7.3执行期类型识别(RuntimeTypeIdentification,RTTI)
    Type-SafeDowncast(保证安全的向下转型操作)
    Type-SafeDynamicCast(保证安全的动态转型)
    References并不是Pointers
    Typeid运算符
    7.4效率有了,弹性呢?
    动态共享函数库(DynamicSharedLibraries)
    共享内存(SharedMemory)
查看详情
您可能感兴趣 / 更多
深度探索C++对象模型
深度:潜入隐藏的世界
杰斯-麦吉辛
深度探索C++对象模型
深度教学研究(第二辑)
郭元祥 主编
深度探索C++对象模型
深度对话茅奖作家(1-11届)
舒晋瑜
深度探索C++对象模型
深度关系
武志红
深度探索C++对象模型
深度阅读训练册 3年级b版 小学同步阅读 新华正版
深度阅读教学研究中心
深度探索C++对象模型
深度学习在复杂系统健康监测中的应用
吴军;程一伟;邓超;朱海平
深度探索C++对象模型
深度阅读训练册4年级B版
深度阅读教学研究中心 编
深度探索C++对象模型
深度学习教程 杨小远 刘建伟著
杨小远;刘建伟
深度探索C++对象模型
深度学习——模型、算法优化与实战
张洪朋
深度探索C++对象模型
深度陪伴RAP养育法
张杨
深度探索C++对象模型
深度思维
隋继周
深度探索C++对象模型
深度财务分析报告案例示范
本书编委会
系列丛书 / 更多
深度探索C++对象模型
深度:潜入隐藏的世界
杰斯-麦吉辛
深度探索C++对象模型
深度教学研究(第二辑)
郭元祥 主编
深度探索C++对象模型
深度对话茅奖作家(1-11届)
舒晋瑜
深度探索C++对象模型
深度关系
武志红
深度探索C++对象模型
深度阅读训练册 3年级b版 小学同步阅读 新华正版
深度阅读教学研究中心
深度探索C++对象模型
深度学习在复杂系统健康监测中的应用
吴军;程一伟;邓超;朱海平
深度探索C++对象模型
深度阅读训练册4年级B版
深度阅读教学研究中心 编
深度探索C++对象模型
深度学习教程 杨小远 刘建伟著
杨小远;刘建伟
深度探索C++对象模型
深度学习——模型、算法优化与实战
张洪朋
深度探索C++对象模型
深度陪伴RAP养育法
张杨
深度探索C++对象模型
深度思维
隋继周
深度探索C++对象模型
深度财务分析报告案例示范
本书编委会
相关图书 / 更多
深度探索C++对象模型
深度:潜入隐藏的世界
杰斯-麦吉辛
深度探索C++对象模型
深度教学研究(第二辑)
郭元祥 主编
深度探索C++对象模型
深度对话茅奖作家(1-11届)
舒晋瑜
深度探索C++对象模型
深度关系
武志红
深度探索C++对象模型
深度阅读训练册 3年级b版 小学同步阅读 新华正版
深度阅读教学研究中心
深度探索C++对象模型
深度学习在复杂系统健康监测中的应用
吴军;程一伟;邓超;朱海平
深度探索C++对象模型
深度阅读训练册4年级B版
深度阅读教学研究中心 编
深度探索C++对象模型
深度学习教程 杨小远 刘建伟著
杨小远;刘建伟
深度探索C++对象模型
深度学习——模型、算法优化与实战
张洪朋
深度探索C++对象模型
深度陪伴RAP养育法
张杨
深度探索C++对象模型
深度思维
隋继周
深度探索C++对象模型
深度财务分析报告案例示范
本书编委会