Я пишу программное обеспечение для встроенной системы.
Мы используем указатели для доступа к регистрам устройства FPGA.
Некоторые регистры доступны только для чтения, а другие - только для записи.
Регистры только для записи будут выдавать значения undefined при чтении.
Я хочу определить тип указателя, который позволит компилятору обнаруживать при чтении значений из регистров только для записи (разыменования a.k.a.).
Можно ли создать указатель только для записи, используя только синтаксис языка C?
(Мы разрабатываем первый прототип с использованием C, но переходим на С++ на 2-м поколении.)
Как создать эффективный указатель только для записи в С++? (Помните, что это не отслеживание элементов в динамической памяти, а доступ к аппаратным адресам.)
Этот код используется во встроенной системе, где безопасность и качество являются самыми важными.