Earlier quoted context omitted.
In my experience, in practice, it usually isn't that hard to figure out what people meant by a READ/WRITE_ONCE(). Most common cases I see are: 1. I'm sharing data between concurrent contexts but they are all on the same CPU (classic is sharing a percpu variable between IRQ and task). 2. I'm reading some isolated piece of data that I know can change any time, but it doesn't form part of a data structure or anything, i…
It sounds like std::atomic_ref ::{load,store}(relaxed) to me. 1. ad-hoc atomicity with ref 2. no ordering https://godbolt.org/z/4h893P7hG
({READ,WRITE}_ONCE() only lets the compiler reorder the accesses if they happen in the same C statement).
I think C++ doesn't have an equivalent because it just doesn't make sense as a primitive in very many environments.