C++ Undefined Behavior

Undefined behavior occurs when a program violates a rule for which the C++ standard imposes no requirements. It is not a reliable runtime error: compilers may optimize based on the assumption that undefined behavior never occurs.