ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
27 апреля
397880 Топик полностью
amx (28.03.2013 15:46 - 15:54, просмотров: 213) ответил rezident на Компилятор не разрешает потому, что по смыслу это две противоположности - переменная не может быть одновременно изменчивой (volatile) и неизменной (constant).
А разве read-only регистр (например периферии) не ложится на это определение как родной? http://embeddedgurus.com/barr-code/2012/01/combining-cs-volatile-and-const-keywords/
Моё понимание: const значит что программа не должна изменять значение переменной, а не то, что значение не может меняться; volatile значит что значение может меняться за пределами видимости компилятора (другой поток, периферия). Итого: только const - обыкновенная константа, которую можно подставлять потому что её изменяемость не заявлена, в отличии const volatile.