Actually, the compiler can give you a hint. My says: "Warning C4700: local variable" a "is used without initialization."
But this is not an error in itself, the declaration simply gives the variable name to some bits of memory without touching it, which is really fast. And the adjustment here is not really a snap, just moving the bits from right to left. No checks again. Very productive, very dangerous.
Each operation is legal, but all this is meaningless. Thus, the compiler does everything possible - it compiles the code, but also gives a warning.
source share