Возможный дубликат:
Ключевое слово без знака в C ++
В настоящее время я узнаю о том, как напрямую получить доступ к устройствам с отображенной памятью (в частности, Raspberry Pi GPIO) и в некоторых образец кода Я вижу следующее:
// I/O access
volatile unsigned *gpio;
Что меня смущает, так это то, что тип не определен. Это допустимый C ++ и если да, то что объявляет приведенный выше код?
Спасибо!
PS: я знаю о Raspberry Pi StackExchange, но этот вопрос просто связан с синтаксисом C ++.
unsigned
один такой же, как unsigned int
,
Так же, как это:
volatile unsigned int *gpio;
Просто короче.
unsigned
квалификатор без базового типа это просто сокращение для unsigned int
,
volatile
указывает компилятору на то, что это значение может измениться так, как этого не ожидает программа. Другими словами, компилятор не должен пытаться выполнять какое-либо кэширование или оптимизацию значения, поскольку он не знает, как оно изменится.