widzę praktycznego zastosowania dla zmiennej wykwalifikowanego const volatile
, jakCzy istnieje praktyczne zastosowanie wskaźnika "volatile restrict"?
const volatile uint64_t seconds_since_1970;
jeśli bazowy mechanizm sprzętowy aktualizuje wartości co drugi, ale zmienna nie ma prawa zapisu w (prawdopodobnie) wbudowanego sprzętu. A ponieważ wszystkie trzy (cztery w C11) kwalifikatory typu są uważane za niezależne, wszystkie kombinacje wydają się być dozwolone. Ale jestem ze stratą wyobrażając sobie sytuację prawdziwego życia, gdzie restrict volatile
wykwalifikowany wskaźnik naprawdę sensu:
uint32_t * restrict volatile pointer_to_some_uint32;
[EDIT: Do wyjaśnienia: Zarówno volatile
i restrict
stosuje się do wskaźnika, a nie przedmiotem wskazał to!]
Czy jest to konstrukcja dozwolona przez język, ale bezużyteczna sama w sobie, czy też brakuje mi obszaru zastosowania, w którym może to być cenne?
Cztery? 'const'' volatile' 'restrict' ...... Czy możesz powiedzieć mi, co jest czwartym kwalifikatorem? Przepraszamy za moją małą wiedzę> o < – ikh
@ikh C11 definiuje kwalifikator "_Atomic". –