değerini nasıl yazdıramıyorum Programımda std::atomic<unsigned int>
kullanıyorum. printf
kullanarak değerini nasıl yazdırabilirim? Çünkü sadece %u
kullanıyorsam çalışmıyor. cout
'u kullanabileceğimi biliyorum, ancak programım printf
çağrıları ile dolu ve ben bunların her birini değiştirmek istemiyorum. Önceden std::atomic<unsigned int>
yerine unsigned int
kullanıyordum, bu yüzden sadece %u
kullanıyordum ve bu nedenle baskı iyi çalışıyordu.std :: atomic <imzasız int>
6
A
cevap
13
template<typename BaseType>
struct atomic
{
operator BaseType() const volatile;
}
Temel değeri kaldırmak için bir tahmin kullanın. için
printf("%u", unsigned(atomic_uint));
<> `a yüküne sahip()
Bize sen denedi kodu göstersem yardımcı olabilir ve bu (çıkış veya hata mesajı) işe yaramadı nasıl – crashmstr
' std :: atom 'üye işlevi değeri okuma (atomik olarak :-). Bunu kullanabilirsin. –
Gerçekten bir atom değişkenine mi ihtiyacınız var? std :: atomic, eşzamanlılık sorunları için değişkene bellek erişimi siparişi vermek içindir. – AJG85