class C { public: char a; static char b; void *p; static int *c; virtual void func1(); virtual void func2(); };
9
17
32
24
(1)static不占据内存大小,首先排除。 (2)64位系统下指针长度变为8,32位系统下指针长度为4. (3)类C的长度和一个char类型,一个void指针,一个虚函数表指针有关。尽管有两个虚函数,但它们存储在虚函数表指针指向的虚函数表中。 (4)根据结构体的对齐原则,3*8=24。即变量a实际上占用了8个字节空间。
在同一个类中的虚函数占用一个地址的内存
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题