type-punning

¿Cuál es la estricta regla de aliasing?

Al preguntar sobre el comportamiento común indefinido en C, las almas más iluminadas de lo que me referí a la estricta regla de aliasing. ¿De qué están hablando?

Propósito de los sindicatos en C y C++

He usado uniones antes cómodamente; hoy me alarmé cuando leí este post y llegué a saber que este código union ARGB { ... encia como una característica del lenguaje C++ . Esta es la razón por la que la respuesta de Andrey sigue siendo la aceptada.

¿Es el juego de palabras de tipo a través de una unión no especificado en C99, y se ha especificado en C11?

A number of answers for the Stack Overflow question Getting the IEEE Single-precision bits for a float suggest using a union ... de los compiladores parecen soportar esto, pero sería bueno saber si está especificado en el estándar, o extensión muy común.

Sindicatos y juegos de azar

He estado buscando por un tiempo, pero no puedo encontrar una respuesta clara. Mucha gente dice que usar uniones para escrib ... eso y C. Específicamente estoy usando uniones para convertir entre flotadores y el hex raw para enviar a través del bus CAN.

almacenamiento alineado y alias estrictos

Actualmente estoy usando aligned_storage para implementar un tipo 'Opcional' similar al de boost::optional. Para lograr esto ... Si es posible, me sentiría mejor si pudiera hacer referencia al estándar en su respuesta (me ayuda a dormir por la noche :P).

Se permite aliasing T* con char*. ¿También está permitido al revés?

Nota: Esta pregunta ha sido renombrada y reducida para hacerla más enfocada y legible. La mayoría de los comentarios se refi ... permitido al revés. Por ejemplo: char * c = read_socket(...); unsigned * u = reinterpret_cast<unsigned*>(c); // huh?

Reutilización de un búfer flotante para dobles sin comportamiento indefinido

En una función particular de C++, resulta que tengo un puntero a un gran búfer de flotadores que quiero usar temporalmente pa ... tipos no está permitido en C++). Se puede asumir que el búfer flotante está correctamente alineado para usarlo para dobles.