Is there is any specific reason behind undefined behavior in C and C++?
Why are some features left undefined?
Is there is any specific reason behind undefined behavior in C and C++?
Why are some features left undefined?
For some part at least, it was to allow a more efficient implementation.
A simple example: Function parameters. Their evaluation order in unspecifed, because some architectures could work better depending on how they made the calculations or the calling convention (registers, stack, etc.)