Undefined behaviour may have a precise meaning to a academic, but
for me as a programmer it means. AVOID THIS SITUATION !!! unless
you know what you do!

And to the compiler writer it means: In this situation, you can do whatever the hell you want! Later, when you think you know what you are doing, it can turn out that what some specific compiler does in some specific situation is not even remotely what you were expecting it to do. For example, see gcc and its insane behavior when -fstrict-aliasing (turned on by default at -O2) is used.

Reply via email to