每当我看到联合的例子时,它们总是不同的类型.例如,来自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()
{
}
Run Code Online (Sandbox Code Playgroud)
如果我有一个联合(在这种情况下是匿名的,但这不重要)会发生什么,如下所示:
union
{
float m_1stVar;
float m_1stVarAlternateName;
};
Run Code Online (Sandbox Code Playgroud)
无论这是否是好的做法,这会导致任何问题吗?
Mar*_*som 10
不,这不会导致任何问题.你没有经常看到它的原因是它没有意义 - 两个名称都指的是相同类型的相同值.