komische union-benutzung
-
Ich hab jetzt mehrmal (sinngemäß) folgenden code gesehen:
struct bitfield { unsigned:15 a; unsigned:15 b; unsigned:2 c; }; union u { bitfield; unsigned raw; }; bool mach_was(u a) { u b; b.raw=a.raw; return b.b&BIT_MASK; };Was soll die Zeile b.raw=a.raw; ? (ich meine, warum nicht a.b&BIT_MASK zurückgeben?)
-
Vielleicht glaubt der Autor ja, dass Operator & die Operanden verändert. Wäre nicht das erste mal. Was im Beispiel aber in doppelter Hinsicht Unsinn ist.