3 ms·
Not only can the compiler make it false. It can assume that the code would never make the comparison in the first place, and optimize away any cases where the u
by missblit 11y ago
Not only can the compiler make it false. It can assume that the code would never make the comparison in the first place, and optimize away any cases where the undefined behavior is guaranteed to be triggered.
So in a sense undefined behavior can travel back in time :O
- TheLoneWolfling 11y agoYep. It's impossible to have actual modular code in C. A real shock for people coming from higher level languages.
- xcogiz 11y agoWhat exactly do you mean by modular code in your context? edit: Oh, you probably meant modules integrated directly in the language. I was surprised to read that since modular design is highly successful and useful in C.
- TheLoneWolfling 11y agoNo, I'm not talking about modules. I'm talking about modular code: I mean that in many languages it's at least possible to write code that can be understood fully in isolation. Objected-oriented programming, etc, etc. In C that's impossible. Due to UB being global.