这是师兄昨天问我的问题,今天居然在????指offer上看到了,可想而知这本书有多重要。

对空类型求sizeof()?

如上图:为了使用这种类型的实例,他必须占用一定的空间,至于占多少空间,由编译器决定。

对空类型求sizeof()?

如上图:那为什么添加了构造函数和析构函数,结果还是1呢?

因为调用构造函数和析构函数只需知道函数的地址,而函数的地址只与类型相关,而与类型的实例无关。

对空类型求sizeof()?

如上图:添加上虚函数后,结果变成了8个字节。

C++编译器发现这是虚函数,就会为该类型生成虚函数表,,每个实例中添加一个指向虚函数的指针,而指针的大小根据系统而定,在32位的机器上是4字节,64位是8字节。

相关文章:

  • 2022-03-04
  • 2021-07-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-04
  • 2021-06-20
  • 2022-02-18
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-05
  • 2022-12-23
相关资源
相似解决方案