typedef struct{}a;问sizeof(a)是多少 试了一下,结果是 1 ,为什么?

解决方案 »

  1.   

    C是0,C++是1,C++编译器插入了一个char用于在内存中保持唯一。
      

  2.   

    C是0,C++是1,C++编译器插入了一个char用于在内存中保持唯一。没看懂楼上的意思.能否再解释一下...唯一?CHAR?
      

  3.   

    《深度探索C++对象模型》第三章一开始就讲到了,那个1byte是编译器安插进去的,使得这个类的2个实例能够在内存中占有一个唯一的地址(就是那个1byte占着的地址),如果没有任何数据,这2个对象的内存地址值就不确定了,实际就是野指针,对象可不能是一个野指针。