Recommended practice: Implementations should ensure
that C and C++ representations of atomic objects are compatible,
so that the same object can be accessed as both an _Atomic(T)
from C code and an atomic<T> from C++ code.
The representations should be the same, and
the mechanisms used to ensure atomicity and memory ordering
should be compatible.