自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 深度探索C++对象模型 第4章 Function语意学 4.1 Member的各种调用方式

Member的各种调用方式一、非静态成员函数二、虚拟成员函数三、静态成员函数四、名称的特殊处理(mangling机制)virtual函数是在20世纪80年代中期被加进来的,并且一开始受到了很多的之一静态成员函数时最后被引入的一种函数类型。它们在1987年的Usenix C++研讨会的厂商研习营中被正式提议加入C++中一、非静态成员函数c++的设计准则之一是:非静态成员函数至少必须和一般的非成员函数有相同的效率float magnitude3d(const Point3d *_this) {

2020-12-03 23:09:40 237

原创 深度探索C++对象模型 第3章 Data语意学 3.4 继承与data member

在继承关系下,一个类的数据成员规则如下:派生类的数据成员为:其自身的数据成员加上基类的数据成员的综合派生类与基类的数据成员的排列次序并未在C++标准中强制规定:理论上编译器自由安排。在大部分编译器上,基类的数据成员总是先出现当有虚基类时,上面的规则就会失效(具体见下面讲解)下面我们将从“单一继承不含virtual functions”、“单一继承并含有virtual functions”、“多重继承”、“虚拟继承”等四种情况介绍对象布局模型一、单一继承不含virtual functions(没

2020-12-02 18:33:24 248 1

原创 深度探索C++对象模型 第3章 Data语意学 3.2 data member的布局 3.3 Data member的存取

3.2 data member的布局一、数据成员的布局规则class Point3d{public: /*...*/private: float x; static List<Point3d*> *freeList; float y; static const int chunkSize = 20; float z;};每一个Point3d对象是由3个float组成,其在内存中排列的次序是x,y,z;static静态对象不属于某个特定的对象,其存放在数据段中二

2020-12-02 15:11:36 178

原创 深度探索C++对象模型 第3章 Data语意学 3.1 data member的绑定

每一个class object必须有足够的大小以容纳它所有的nonstatic data members。有时候其值较大,原因是:1、由编译器自动加上额外data members,用以支持某些语言特性(主要是各种virtual特性)2、因为alignment(边界调整)的需要。(如:一些机器要求结果为4bytes的倍数)。...

2020-12-02 10:51:10 127

原创 深度探索C++对象模型 第1章 关于对象

一、三、四章第1章 关于对象1.1 c++对象模型三.1 无继承下的C++对象模型**三.2 有继承下的C++对象模型****四 对象模型如何影响程序**1.2 关键词所带来的差异1.3 对象的差异欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章U

2020-12-01 19:50:08 130

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除