В статье http://habrahabr.ru/post/267239/ автор наезжает на общепринятый в C и C++ трюк с использованием union, утверждая, что стандарт такое использование запрещает:
стандарт считает, что читаться всегда должно только то значение, которое было записано ранее. Запись одного типа с последующим чтением другого — undefined behavior.
Есть кто с учёткой на хабре, напишите ему, что он нехороший человек. Цитата из стандарта:
If a standard-layout union contains two or more standard-layout structs that share a common initial sequence, and if the standard-layout union object currently contains one of these standard-layout structs, it is permitted to inspect the common initial part of any of them. Two standard-layout structs share a common initial sequence if corresponding members have layout-compatible types and either neither member is a bit-field or both are bit-fields with the same width for a sequence of one or more initial members.
Нельзя же так на популярном ресурсе делать, могут читать дети.