Generalnie chodzi o to, że operacje atomowe realizowane są na bardzo niskim poziomie (instrukcji procesora), a tam nie ma czegoś takiego jak klasy, nie ten poziom abstrakcji. Tam są bajty, słowa, podwójne słowa itd. Dlatego std::atomic wymaga, by typ T był Trivially Copyable, czyli przy kopiowaniu był traktowany jak ciąg bajtów, a nie zbiór pól, które trzeba jakoś specjalnie kopiować wykorzystując zdefiniowane przez nie operatory kopiowania.