标签: c++
可能重复: C++: What is the size of an object of an empty class?
#include <iostream> class C { }; int main() { std::cout << sizeof(C) << std::endl; return 0; }
输出: 1
为什么1,但不是零?
答案 0 :(得分:5)
来自Stroustrup的嘴 sizeof. To ensure that the addresses of two different objects will be different. For the same reason, "new" always returns pointers to distinct objects.
答案 1 :(得分:4)
因为C ++标准要求所有对象都具有非零大小。这有助于确保每个对象都有唯一的地址。
答案 2 :(得分:1)
c ++标准规定每个类/结构必须至少有1个字节。