类所占内存的大小是由成员变量(静态变量除外)和虚拟函数表指针空间(若有虚函数)所决定
空类的内存大小是1个字节
类中无论有多少个虚函数,只会多占一个虚表指针空间
子类的内存大小等于父类的内存大小加上子类独有成员变量的内存大小
空类会占用1字节的内存空间,原因是C++要求每个实例在内存中都有独一无二的地址。
(一)类内部的成员变量:
普通的变量:要占用内存的,要注意对齐原则(这点和struct类型很相似)。
static修饰的静态变量:不占用内存,原因是编译器将其放在全局变量区。
(二)类内部的成员函数:
普通函数:不占用内存。
虚函数:占用4个字节,用来指定虚函数表的入口地址。所以一个类的虚函数所占用的地址是不变的,和虚函数的个数没有关系。
类所占内存的大小是由成员(静态变量除外)决定的,因为类成员就可以包含成员变量和成员函数。
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题