gpt4 book ai didi

c++ - 具有虚函数的类占用更多空间

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:08:12 25 4
gpt4 key购买 nike

有这样的代码:

#include <iostream>

class A{
int a;
int fun(){}
};

class B{
int a;
virtual int fun(){}
};

int main()
{
std::cout << sizeof(A) << " " << sizeof(B) << std::endl;
std::cin.get();
return 0;
}

输出是:

4 8

为什么 B 类比 A 类大 4 个字节?

最佳答案

任何具有虚函数的类都需要一个指向该类虚函数表的指针。因此,有一个隐藏成员,即指针的大小。

http://en.wikipedia.org/wiki/Virtual_method_table

关于c++ - 具有虚函数的类占用更多空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7453269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com