成员初始化程序中使用sizeof的行为是什么?我无法找到关于这一点的描述。在下面的代码示例中它是否安全?即,在struct
成员之后,编译器会在A
中放置b
的正确大小?
struct A
{
int a = 0;
int b = sizeof(A);
int c = 3;
int d = 4;
char s[256];
A()
{
//printf("b = %d\n", b);
}
};
答案 0 :(得分:4)
struct
的大小在编译中比struct
内的值设置更早确定。