每当我看到联合的例子时,它们总是不同的类型。例如,从MSDN:C++中同一类型的联盟
// 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;
};
不管这是否是个好习惯否则会导致任何问题?
您认为这可能会导致什么问题? –
我越来越堆腐败,这个问题的答案将导致另一个问题:) ...我想消除所有的可能性。在这种情况下,我没有看到任何问题,但他们说'你永远不知道'。 – Samaursa
我想,除了单纯的代码检查之外,您已经使用了一些工具?关于unix-like valgrind是非常有用的,不确定在Windows上的替代品(http://stackoverflow.com/questions/413477/is-there-a-good-valgrind-substitute-for-windows)。通过代码检查查找堆损坏可能非常耗时。 –