乐闻世界logo
搜索文章和话题

C ++: What is the size of an object of an empty class?

6 个月前提问
5 个月前修改
浏览次数69

1个答案

1

在 C++ 中,即使是一个空的类(即没有数据成员和成员函数的类),创建该类的对象时也不会占用0字节的大小。这是因为每个实例都需要有一个独一无二的地址,以便能够区分和使用它们。根据 C++ 标准,空类的对象至少需要占用1字节的大小。

例如,定义一个空类:

cpp
class EmptyClass {};

然后,我们可以测试这个类的对象大小:

cpp
#include <iostream> class EmptyClass {}; int main() { EmptyClass obj; std::cout << "Size of object is: " << sizeof(obj) << " bytes." << std::endl; return 0; }

这段代码的输出将会是:

shell
Size of object is: 1 bytes.

这说明即使类没有任何数据成员或成员函数,每个对象仍然占用1字节的空间,这主要是为了确保每个对象都能在内存中有一个独特的地址。

2024年6月29日 12:07 回复

你的答案