我可以看到实用上要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。 –