Als «type-punning» getaggte Fragen

254
Zweck der Gewerkschaften in C und C ++

Ich habe Gewerkschaften früher bequem benutzt; Heute war ich alarmiert, als ich diesen Beitrag las und erfuhr, dass dieser Code union ARGB { uint32_t colour; struct componentsTag { uint8_t b; uint8_t g; uint8_t r; uint8_t a; } components; } pixel; pixel.colour = 0xff040201; //...

76
Gewerkschaften und Typ-Punning

Ich habe eine Weile gesucht, kann aber keine klare Antwort finden. Viele Leute sagen, dass die Verwendung von Gewerkschaften zum Schreiben von Wortspielen undefiniert und eine schlechte Praxis ist. Warum ist das? Ich kann keinen Grund erkennen, warum es etwas Undefiniertes tun würde, wenn man...

14
std :: bit_cast mit std :: array

In seinem kürzlich gehaltenen Vortrag "Type punning in modernem C ++" sagte Timur Doumler , dass std::bit_castdies nicht zum Bit-Casting floatin ein verwendet werden kann, unsigned char[4]da Arrays im C-Stil nicht von einer Funktion zurückgegeben werden können. Wir sollten entweder std::memcpyC ++...