Undefined behaviour in a programming language spec is a good thing because it enables optimisations. Similarly, taking the windscreen wipers off your car is a good thing because it improves aerodynamics.
@etchedpixels Sequence points is an interesting case because the unsequenced operations are effectively defined by omission :) You still don't get compiler warnings about something like foo(&s) + bar(&s) though so I'm sure there are a million bugs out there due to it. Is that worth it, is the question.
@andyprice UB always struck me less as being for optimisations, but rather for getting whoever was funding the standard to sign off on it because they had an existing product they couldn't be bothered to make comply