Союз того же типа в C ++ - PullRequest
6 голосов
/ 29 июня 2011

Всякий раз, когда я вижу примеры объединения, они всегда бывают разных типов.Например, из MSDN:

// declaring_a_union.cpp
union DATATYPE    // Declare union type
{
    char   ch;
    int    i;
    long   l;
    float  f;
    double d;
} var1;          // Optional declaration of union variable

int main()
{
}

Что произойдет, если у меня будет объединение (в данном случае анонимное, но это не должно иметь значения), например:

union
{
    float m_1stVar;
    float m_1stVarAlternateName;
};

Независимо от того,Это хорошая практика или нет, это вызовет какие-либо проблемы?

1 Ответ

10 голосов
/ 29 июня 2011

Нет, это не вызовет никаких проблем. Причина, по которой вы не видите его чаще, состоит в том, что это бессмысленно - оба имени ссылаются на одно и то же значение одного и того же типа.

...