const volatile
我可以看到合格变量
的实际用途,例如
const volatile uint64_t seconds_since_1970;
如果底层硬件机制每秒更新一次值,但变量在(可能是嵌入式的)硬件中不可写。并且由于所有三个(C11 中为四个)类型限定符都被认为是独立的,所有组合似乎都是允许的。但是我无法想象一个restrict volatile
合格的指针真正有意义的现实情况:
uint32_t * restrict volatile pointer_to_some_uint32;
[编辑:澄清:两者都volatile
适用restrict
于指针,而不是指向的对象!]
这是语言允许但本身无用的构造,还是我错过了一些有价值的应用领域?