分享
 
 
 

c++对象模型读书笔记一

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

1、什么是C++对象模型

1、语言中直接支持面向对象程序设计的部分

2、各种支持的底层实现机制

2、C语言是面向过程的:

语言本身没有支持数据和函数之间的关联性,是程序性的,分布在各个以功能函数为导向的函数中

他们处理的是共同的外部数据。

C++用独立的“抽象数据类型”ADT实现

3、C++在布局以及存取时间上主要额外负担的VIRUTAL引起的

1、virtual function机制

2、virtual base class多次继承系统中的基类,有一个单一而被共享的实体

4、C++有两种类成员数据类型[class data type]:static,nonstatic

有三种类成员函数类型[class member function]:static,nonstatic,virtual

5、C++对象模型

nonstatic data member非静态数据成员被置于类对象中

static data member静态成员函数被置放在所有类对象之外[被放置在程序中的data segment中]

static function和nonstatic function也放在类对象之外

static function在我看来类似于nonmember function

virtual function

1、每一个类产生一对指向virtual function的指针,放置在表格中virtual table(vtbl)

2、类对象添加了一个指针,指向vtbl,为vptr

6、在虚拟继承情况下,base class不管在继承串连中被派生过多少次,永远只存在一个实体subobject

7、关键词struct和class的差异:

struct体现了数据萃取的概念

class体现了adt(abstract data type)概念

我看来只要是思想上的差异,没有其他的差别

8、C++程序设计模型直接支持三种“程序设计典范”,也就是不只是OO了

1、程序模型:面向过程的设计

2、抽象数据类型模型:我看来解释数据萃取型STRUCT

3、面向对象模型

9、一个指针,不管它指向哪一个数据类型,指针本身需要的内存大小是固定的,指向不同类型之各指针之间

的差异,即不在其指针表示法的不同,也不在其内容的不同,而在于它寻址出来的OBJECT类型的不同,我

看来指针的类型就是为了通知编译器,让编译器的有不同的处理方式

10、多态就是指使用虚函数吗?

11、当一个基类被直接初始化(或者被指定为)一个继承类时,继承类就会被切割,以塞进较小的基类内存中

12、一个类如果没有自定义的构造函数,编译器会生成一个却省的构造函数,但是这个构造函数是没有具体作用的

被合成的构造函数,只满足编译器的需要,而不是满足程序的需要

合成的构造函数只对基类对象和类对象成员函数的初始化,不对其他非静态DATA MEMBER初始化

不是任何没有却省构造函数的类都会被合成出一个却生构造函数

13、内联函数有静态连接,不会被档案以外者看到,如果内联函数很复杂,不适合做成内联函数,编译器会

合成一个明确的、非内联的函数实体

14、如果一个类含有一个或者一个以上的类对象成员函数,类的构造函数会调用每个类对象的却生构造函数

15、拷贝构造函数是类的一个参数是其类名的构造函数,如果类中用户没有明确定义,内部是以所谓的DEFAULT

memberwise initialization,即却省的对每个成员函数初始化手法完成

根据bit来拷贝构造函数

16、坚持所有的member的初始化操作在member initialization list中完成,初始化顺序不是按照initialization

中的顺序完成,是按照类中成员定义的顺序完成,编译器编译时将initialization放置在构造函数用户自定的编码前

17、一个空类大小不是为空的,有一个隐讳的1字节,那时编译器安插进取的一个char,使得这个类在内存中分配

独一无二的地址。[我不知道是否所有的编辑器都是如此?]

18、类的大小跟机器和编辑器有关,受到三种因素的印象

1、语言本身所造成的额外负担

2、编译器对特殊情况进行的优化处理

3、alignment的限制,alignment就是将某数的整倍数,例如32位计算机上,一般为4字节

19、不管类产生多少个对象,静态数据成员永远只存在一份实体

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有