[英]Why is volatile not part of sig_atomic_t
在我的平台上(X86,Fedora,gcc 9.1.1), sig_atomic_t
是一個普通的int
。
在C ++標准中, sig_atomic_t
始終與volatile
限定符一起使用。
我理解為什么需要volatile
,但為什么它不屬於那種類型呢?
就像是:
using sig_atomic_t = volatile int;
這是從C繼承的.C定義雖然允許sig_atomic_t
是volatile限定的,但不需要它。 我看過的標准文檔(N1570)中的所有示例用法都是作為volatile sig_atomic_t
給出的。
這些天最好使用std:atomic
和可行時 <atomic>
頭中指定的其他功能。 (另請參閱cppreference上的sig_atomic_t 。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.