成员初始值设定项中使用的 sizeof 的行为是什么?

What's the behavior of sizeof used in member initializer?

本文关键字:sizeof 是什么 成员      更新时间:2023-10-16

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 = %dn", b);
    }
};

struct的大小比struct内部值的设置更早地在编译中确定。