当前位置:首页 > 程序设计 >
《深度探索C++对象模型》电子书封面

深度探索C++对象模型

  • 发布时间:2020年05月11日 09:17:29
  • 作者:(美) Stanley B. Lippm
  • 大小:11 MB
  • 类别:C++电子书
  • 格式:PDF
  • 版本:清晰版
  • 评分:8.6

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

      给大家带来的一篇关于C++相关的电子书资源,介绍了关于C++、对象模型方面的内容,本书是由电子工业出版社出版,格式为PDF,资源大小11 MB,(美) Stanley B. Lippm编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:9.8。

      内容介绍

      创作者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

      学习笔记

      Java和C++通过new创建的对象有何区别?

      前言 本文我们不去谈int、float、char等基本数据类型,而是用一般的类来说明。因为Java中可以直接通过 int varName 的方式来定义和使用一个基本类型的变量,但对于其它一般类型的对象,必须使用 new 来创建。 因此,为了更一般性地分析,体现两种语言创建对象的差异,我们用自定义的类 Student 进行说明,以下内容均针对一般的类而言。 Java 在 Java 中,我们可以通过如下方式定义变量: Student s; //定义标识符s,没有实际空间Student s = new Student(); //定义s,并绑定到新创建的对象 JVM在进行内存管理时,首先会在栈中给dog分配一个空间,当new Dog();后会在堆中开辟对象的实际空间,然后将dog指向堆中的空间,这……

      Java中对象与C++中对象的放置安排的对比

      Java中对象与C++中对象的放置安排的对比 概要: Java中,所有的对象都存放在堆(Heap,一种通用的内存池)中;而对象的引用是存放在堆栈(Stack)中的。 我们可以通过String直接声明的字符串与new String声明出来的字符串使用equals()和"=="进行的比较,从而理解对象和引用的关系及它们的存储位置。 堆栈是一种快速有效的分配存储方法,仅次于寄存器。创建程序时,Java系统必须知道存储在堆栈内所有项的确切生命周期,以便上下移动堆栈指针。 堆不同于堆栈的好处是:编译器不需要知道存储的数据在堆里存活多长时间。所以,堆比堆栈更加灵活。 Java中的堆栈并不能简单理解为数据结构中的栈,虽然它们……

      以上就是本次介绍的C++电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对码农之家的支持。

      上一篇:Effective C++:改善程序与设计的55个具体做法

      下一篇:Effective STL中文版:50条有效使用STL的经验

      展开 +

      收起 -

      • 《深度探索C++对象模型》PDF下载

      C++相关电子书
      C++入门经典
      C++入门经典 第4版

      C++入门经典(第4版) 是一本C++初学者指南,讨论了适合初学者的C++功能子集,其语法对应于C++ 14标准。本书的内容适合于任何开发环境,可以在任何操作系统或程序开发系统中使用。读者不需

      立即下载
      Qt 5.9 C++开发指南
      Qt 5.9 C++开发指南 高质量影印版

      本书以Qt 5.9 LTS版本为开发平台,详细介绍了Qt C 开发应用程序的技术,包括Qt应用程序的基本架构、信号与槽工作机制、图形显示的Graphics/View架构、数据编辑和显示的Model/View架构、对话框和多

      立即下载
      C++ AMP:用Visual C++加速大规模并行计算
      C++ AMP:用Visual C++加速大规模并行计算 扫描版

      C++AMP是Microsoft Visual Studio和C编程语言的新扩展,用于帮助开发人员充分适应现在和未来的高度并行和异构计算环境。C++AMP更易用,与C 配合得更好。本书的目标是帮助C++开发人员在理解CAMP核心

      立即下载
      C++入门经典
      C++入门经典 原书第5版

      本书通过短小精悍的程序详细阐述了基本的C++编程概念,每章都提供了示例程序清单,并辅以示例输出和代码分析,本书针对C++初学者编写的,不要求读者有C语言方面的背景知识

      立即下载
      数据结构、算法与应用:C++语言描述
      数据结构、算法与应用:C++语言描述 第2版

      数据结构、算法与应用:C++语言描述(原书第2版) 共分三个部分。第一部分从第1章到第4章,旨在复习C++程序设计的概念以及程序性能的分析和测量方法。第二部分从第5章到第16章,研究数据结构

      立即下载
      小学生C++趣味编程
      小学生C++趣味编程 全资料版

      《 小学生C++趣味编程 》难度系数适度、易懂易教的教材内容是进行中小学信息学课堂教学的重要一环。 选择80好几个接近中学生学习衣食住行的事例,融合小学生的认知能力规律性,激起小孩

      立即下载
      C++20标准手册
      C++20标准手册 超清版

      C++20(C++ 编程语言标准2020版) 将是C++ 语言一次非常重大的更新,将为这门语言引入大量新特性。 c++20标准文档是官方目前最新文件 ,更新2020年。需要的朋友可下载试试! 此次更新看 C++20 的 Big Four(四大新特性:概念、范围、协程和模块)以及核心语言(包括一些新的运算符和指示符)。 全新的 GCC、Clang 和 EDG 编译器能提供对核心语言的最佳支持。此外,MSVC 和 Apple Clang 编译器也支持许多 C++20 特性。 C++20 核心语言特征。 库方面

      立即下载
      Visual C/C++编程精选集锦
      Visual C/C++编程精选集锦 超清扫描版

      VisualC/C++做为功能齐全的数据可视化应用软件开发专用工具,是计算机界认可的出色运用开发环境。Microsoft的基础类库MFC促使开发设计?Windows?手机应用程序越来越非常容易,合适作各种各样操作

      立即下载
      图解数据结构:使用C++
      图解数据结构:使用C++ 扫描版 立即下载
      C/C++实践进阶之道:写给程序员看的编程书
      C/C++实践进阶之道:写给程序员看的编程书 原书扫描版

      本书是一本C/C 语言应用能力进阶的图书,包含99个经典实例与综合案例的透彻解析,具有很高的实用性和可读性,对于初级程序员和学习编程语言的大学生大有裨益

      立即下载
      嵌入式C/C++系统工程师实训教程
      嵌入式C/C++系统工程师实训教程 高清版

      嵌入式C++(含C语言)是嵌入式领域中最具有竞争力的编程语言。书中内容突出各章节重点,明确各个知识要点,以方便阅读。书中比较系统地介绍嵌入式编程所需的大部分程序设计知识,分为

      立即下载
      读者留言
      李泽洋

      李泽洋 提供上传

      资源
      28
      粉丝
      34
      喜欢
      80
      评论
      3

      Copyright 2018-2020 xz577.com 码农之家

      本站所有电子书资源不再提供下载地址,只分享来路

      版权投诉 / 书籍推广 / 赞助:QQ:520161757