0
的sizeof空结构的在C 0字节但在C++中,它是1个字节。为什么?有什么不同?大小用C空结构和C++
的sizeof空结构的在C 0字节但在C++中,它是1个字节。为什么?有什么不同?大小用C空结构和C++
在C
其不正确的,你不能有一个struct
没有在它的成员。
C99 says
,
如果结构声明列表中没有名称的成员,该行为是不确定的。
但是GCC
可以让你有大小为0
一个没有成员结构。 G++
对待STRUCT仿佛它在它char
类型的单个构件。
看这个以前SO answering为什么在C++的尺寸为1B
。
有什么区别?他们是不同的语言。 –
好!但C的新功能不过是C++正确!如果它是不同的语言意味着在C++中如何支持c头文件?两种语言有相似之处。但为什么它是C中的0字节? – Ramakrishna
@Ramakrishna:简单:不是所有的C头文件在C++的支持。 – PlasmaHH