C++
ysun
不会就学
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++ 对象的内存布局(上)
C++ 对象的内存布局(上) 陈皓http://blog.youkuaiyun.com/haoel 点击这里查看下篇>>>前言 07年12月,我写了一篇《C++虚函数表解析》的文章,引起了大家的兴趣。有很多朋友对我的文章留了言,有鼓励我的,有批评我的,还有很多问问题的。我在这里一并对大家的留言表示感谢。这也是我为什么再写一篇续言的原因。因为,在上一篇文章中,我用了的示例都是非转载 2011-11-13 00:31:33 · 501 阅读 · 0 评论 -
C++ 对象的内存布局(下)
重复继承 下面我们再来看看,发生重复继承的情况。所谓重复继承,也就是某个基类被间接地重复继承了多次。 下图是一个继承图,我们重载了父类的f()函数。 其类继承的源代码如下所示。其中,每个类都有两个变量,一个是整形(4字节),一个是字符(1字节),而且还有自己的虚函数,自己overwrite父类的虚函数。如子类D中,f()覆盖了超类的函数, f1() 和f2() 覆转载 2011-11-13 00:32:28 · 588 阅读 · 0 评论 -
如何判断一个类中是否有虚函数
如何判断一个类中是否有虚函数 假设存在一个类A,我们对其内部的实现一无所知,如何判断该类是否有虚函数呢? 如果了解C++内存模型的话,可以知道如果一个类存在虚函数的话,在给该类实例对象分配内存的时候,会存在一个虚函数表的指针。 我们设计另一个类B继承未知的类A,并在类B中定义虚函数,不能再类B中定义变量,具体实现代码如下所示原创 2011-11-13 13:00:30 · 1726 阅读 · 0 评论 -
C++ 虚函数表解析
C++ 虚函数表解析 陈皓http://blog.youkuaiyun.com/haoel 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,R转载 2011-11-12 22:52:30 · 354 阅读 · 0 评论 -
C/C++内存对齐
一、 什么是内存对齐现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐.二、 内存对齐的原因 平台原因:不是所有的硬件平台都能访问任意地址上的任意数据原创 2012-03-18 00:26:54 · 603 阅读 · 1 评论
分享