【发布时间】:2019-07-08 02:59:18
【问题描述】:
如果空类的 sizeof 是 1 个字节,那么为什么 sizeof 类的 int 数据成员不是 5 个字节?
class A
{
int a;
};
class B
{
};
int main()
{
std::cout << sizeof(A)<< ":" << sizeof(B) << "\n";
}
我知道预期的输出是 4 : 1 但只是想知道为什么 sizeof(A) 是 4 字节而不是 5 字节。有助于区分不同对象地址的 1 个字节会发生什么?
【问题讨论】:
-
不需要了
-
@SidS 对象的大小不能为零。
-
@Sid S:
sizeof在 C++ 和 C 中永远不会是 0。stackoverflow.com/questions/2632021/can-sizeof-return-0-zero -
@SidS
sizeof(T) > 0适用于任何类型T。没有零大小的类型。 -
what is the size of empty class in c java。我希望这会对你有所帮助。
标签: c++