深入探索C++对象模型
文章平均质量分 81
NAME
生活会回报你所有的努力
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
深入探索C++对象模型 第三章 Data语意学
1、类对象大小受三个因素影响a、virtual base和virtual function带来的vptr影响 b、 EBO (Empty Base class Optimize)空基类优化处理,EBC(Empty Base Class)占用一个字节,其他含有数据成员的从EBC派生的派生类,只会算自己数据成员的大小,不受EBC一字节的影响 c、alignment 字节对齐2、No原创 2014-06-23 14:11:37 · 820 阅读 · 0 评论 -
深入探索C++对象模型 第二章 构造函数语意学
1. Jerry Schwarz,iostream函数库建构师,曾为了让cin能够求得一个真假值,于是他为它定义了一个conversion运算符operator int()。但在语句cin 中,其行为出乎意料:程序原本要的是cout而不是cin!但是编译器却找到一个正确的诠释:将cin转型为整型,现在left shift operator 就可以工作了!这就是所谓的“Schwarz原创 2014-06-23 14:09:56 · 1095 阅读 · 0 评论 -
深入探索C++对象模型 第一章 关于对象
1、为了实现兼容性,在C++中,struct==class,两个关键字对于编译器来说在大部分的地方是完全一样的可以互相的替代(在template的定义中有个定义,类似于 template,因为模板并没有打算兼容C,所以这里的class并不能用struct,也许是为了避免这种矛盾,所以后来用typename来替代了class ),因此当你看到这样的声明: class node; 而见到了这样的定原创 2014-06-17 22:22:32 · 813 阅读 · 0 评论 -
深入探索对象模型 第四章 function语意学
C++支持三种类型的member functions:static,nonstatic和virtual,每一种类型被调用的方式都不同。1、Member的各种调用方式原始的“C with classes”只支持nonstatic member functions。Virtual函数是在20世纪80年代中期被加进来的,并且很显然受到许多质疑。Static member func原创 2014-07-31 14:31:01 · 870 阅读 · 0 评论
分享