Undefined Behavior vs Unspecified vs Implementation-Defined Behavior in C and C++ | CodeTrail