Re “from c++ standard's prospective anything is allowed to happen”: Anything is
allowed to happen by the C++’s requirements is different from anything
can happen. Yes, the C++ standard’s requirements do not impose any restrictions, so they
allow anything, but they do not
enable anything; they do not make it so that things
can happen. A programmers need to know the difference between these. —
Eric Postpischil 33 secs ago