我可以看到實用上要const volatile
限定的變量,就像「volatile restrict」指針有實際用途嗎?
const volatile uint64_t seconds_since_1970;
如果底層硬件機制更新該值每第二,但變量不是在(可能嵌入的)硬件可寫的。 由於所有三個(C11中的四個)類型限定符被認爲是獨立的,所以所有組合似乎都被允許。但我不知所措想象現實生活中的情況,即restrict volatile
合格的指針將真正意義:
uint32_t * restrict volatile pointer_to_some_uint32;
[編輯:澄清:兩款volatile
和restrict
適用於指針,而不是指向的對象以!]
這是一個允許的語言,但本身無用,或者我錯過了一些應用領域,這可能是有價值的嗎?
四? 'const'' volatile''restrict' ......你能告訴我第四個限定詞是什麼嗎?對不起,我的小知識> o < – ikh
@ikh C11定義了一個限定符_Atomic。 –