Please note this is not the same question as Why does libc++\'s implementation of shared_ptr use full memory barriers instead of relaxed? .
cppreference says