They're still better than the x = x + (y+=(++x)) things I've encountered in school assignments. I've always wondered why knowledge of what ought to be akin to undefined behavior is a good thing, excepting "idioms" like
do {...} while ((line = file.read()) != 0)
which one no longer understands after a week away from the language robs you of a short-term mental model of the language's quirks and evaluation strategies and what-have-you.