您的位置:首页 > 编程语言 > C语言/C++

C++里的虚函数表

2013-11-18 20:42 399 查看
我们都知道为类定义越多的属性会增大类对象的大小,在使用对象的时候也就会占用越多的内存。

在C++里,虚函数也同样会占用内存,因为类会维护一个指向虚函数表(VTable)的指针(pVTable),该指针占4个字节,用来保存虚函数表的地址。

如下图所示:



直接看代码:

#include "stdafx.h"

class Test
{
public:
int Age;
int ID;
virtual void Get1()
{

}
virtual void Get2()
{

}
};

int _tmain(int argc, _TCHAR* argv[])
{
Test a;
printf("%d\n",sizeof(a));
return 0;

运行结果是 : 4 + 4 + 4 = 12 字节。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: