sizeof(空白类)== 1.为什么?

时间:2010-06-28 13:07:06

标签: 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,但不是零?

3 个答案:

答案 0 :(得分:5)

答案 1 :(得分:4)

因为C ++标准要求所有对象都具有非零大小。这有助于确保每个对象都有唯一的地址。

答案 2 :(得分:1)

c ++标准规定每个类/结构必须至少有1个字节。