std :: atomic_ref е страхотно

Наскоро открих, че gcc 10 поддържа std :: atomic_ref и аз сиhttps://9apps.ooo/ играя с него. Трябва да кажа, че може да е в топ 5 на любимите ми C ++ 20 функции. Но възниква въпросът: преди std :: atomic_ref, имаше ли начин атомно да променя променлива от неатомен тип на място? Аз наистина не правя програмиране без заключване в ежедневието си, така че всъщност никога не ми се е случвало да мисля за това, но ми е любопитно. Също така Джейсън Търнър, ако четете това, помислете за std :: atomic_ref за седмичен епизод на C ++, може би има други хора, които също са спали на този.