#include #include #include int main() { volatile int observed = 0; observed = 7; const int snapshot = observed; std::atomic count{0}; const int previous = count.fetch_add(1, std::memory_order_relaxed); assert(snapshot == 7); assert(previous == 0); assert(count.load(std::memory_order_relaxed) == 1); std::cout << snapshot << ' ' << count.load() << '\n'; }