这个联盟是什么意思? C++

What does this Union mean? c++

所以我得到了这样一个联盟:

union A
{
    struct{
        SomeType B;
    }b;
    struct{
        SomeType C;
    }c;
}a[2];

a[2] 是什么意思?

a[2] 正在声明一个变量 a,它是一个 A 类型的数组,其大小为 2

它是一个 array,名为 a,大小为 2,类型 A,是 union。这对所有 class 类型都是一样的。

相同
union A
{
    struct{
        SomeType B;
    }b;
    struct{
        SomeType C;
    }c;
};

A a[2];

这个声明

union A
{
    struct{
        SomeType B
    }b;
    struct{
        SomeType C
    }c;
}a[2];

其实等同于下面两个声明

union A
{
    struct{
        SomeType B
    }b;
    struct{
        SomeType C
    }c;
};

A a[2];

a 是一个包含两个 union A 类型元素的数组。