Есть ли практическое применение для указателя `volatile restrict`?

Я вижу практическое применение для const volatile квалифицированной переменной, например

const volatile uint64_t seconds_since_1970;

если базовый аппаратный механизм обновляет значение каждую секунду, но переменная не может быть записана в (возможно, встроенном) аппаратном обеспечении. И поскольку все три (четыре в C11) квалификатора типа считаются независимыми, все комбинации, похоже, разрешены. Но я не могу представить себе реальную ситуацию, в которой restrict volatile квалифицированный указатель действительно имел бы смысл:

uint32_t * restrict volatile pointer_to_some_uint32;

[EDIT: Для уточнения: и volatile, и restrict применяются к указателю, а не к объекту, на который указывают!]

Это конструкция, разрешенная языком, но бесполезная сама по себе, или я упускаю какую-то область применения, где это может быть полезно?

12
задан Mat 2 August 2012 в 18:09
поделиться