C++对象模型
来源:互联网 发布:佛山 网络英语培训 编辑:程序博客网 时间:2024/05/16 09:11
搞点兴奋神经的东西来活力我的早晨,而那个就是桌面上的C++对象模型了。
看这本书的目的不在于奇淫巧技,更想去体悟思想层面的东西,以获得一些编程心智上的开发。废话少说,看看书中给出的一个说明C++对象模型的例子吧。
class Point {public:POINT(float xval);virtual ~Point();float x() const;static int PointCount();protected:virtual ostream & print(ostream &os) const;float _x;static int _point_count;};
然后作者说:Stroustrup当初设计的C++对象模型是从简单对象模型派生而来的,并对内存空间和存取时间做了优化。在此模型中,nonstatic data members被配置于每一个class object之内,static data members则被存放在所有的class object之外。static和nonstatic function members也被存放在所有的class object之外。virtual functions则以两个步骤支持之。
1.每一个class产生一堆指向virtual functions的指针,放在表格之中。这个表格被称为virtual table。
2.每一个class object被添加了一个指针,指向相关的virtual table。通常这个指针被称为vptr。vptr的设定和重置都由每一个class的construction destructor和copy assignment运算符自动完成。每一个class所关联的type_info object(用以支持runtime type identification, RTTI)也经由virtual table被指出来,通常是放在表格的第一个slot处。
- Objective-C对象模型
- Objective-C对象模型
- objective C 对象模型
- C ++ 对象模型
- Objective-C 对象模型
- 【C++】对象模型
- Objective-C对象模型
- C/C++的对象模型
- Objective-C的对象模型
- 图解Objectvie-C对象模型
- C/C++的对象模型
- Objective-C对象模型--类对象和元类对象
- 深度探索C++对象模型
- Objective-C 对象和消息模型
- Objective-C对象模型及应用
- Objective-C对象模型及应用
- Objective-C对象模型及应用
- Objective-C对象模型及应用
- 网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第13篇)
- java网络编程
- 一切向钱看的中国人是没有底线的
- zencart如何减少网站相似度方法
- Java中如何将字符串从右至左每三位加一逗号
- C++对象模型
- 在路上
- 学习css
- 牛腩新闻发布系统总结
- 关于使用eclipse进行编译时总是有javascript validator错误提示
- 青蛙又回到了井里
- 开源项目之Android http请求及缓存框架(GalHttprequest)
- 山区行
- PjCleanSystemTrash:C#清除系统盘垃圾