struct
1、sizeof(struct)
https://www.cnblogs.com/wllwqdeai/p/10682254.html
2、struct{...; static const int a=1; ...}
https://blog.csdn.net/luckydan61/article/details/5576367
C中struct只是类型声明,没有内存空间的分配,而static变量是需要分配内存的,所以在结构体内包含static变量会出错;
C++编译器将结构体视为一种特殊的class,所以不会有问题。众所周知,类体内可以包含static变量;但是class的定义不会引起内存分配,只有当定义一个class的对象时,系统才会分配存储区。这样说的话,不分配内存空间的class中包含需要分配内存空间的static变量不就变的很奇怪了吗?