Здравствуйте, Gregory, Вы писали:
G>как понимать const volatile и зачем оно такое нужно?
volatile означает, что объект может изменяться как-то помимо действий программы, const — объект действиями программы через данный идентификатор не изменяется. const volatile — объект изменяется только "внешними" по отношению к программе способами. Например, данные какого-то внешнего устройства, отображенные на оперативную память.
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен