Следующий фрагмент кода компилируется и запускается с gcc version 4.7.2 (Debian 4.7.2-5)
:
#include <stdio.h>
int main()
{
const volatile x = 3;
volatile const y = 4;
return 0;
}
Должен ли я считать, что порядок const и volatile не имеет значения? Я попытался прочитать здесь: ссылка на приложение и это ничего не говорит о заказе (или я скучаю по нему?)
Да, порядок не имеет значения. В C ++ соответствующая спецификация находится в 7.1p1, Децл спецификатор а также Децл-спецификатор-сл, которые в основном объясняют, что существует последовательность соответствующих ключевых слов, и 7.1.6, в которой перечислены const
а также volatile
как два эти ключевые слова. Обратите внимание, что производство достаточно странно, что они также действительны, хотя в интересах удобства чтения я настоятельно рекомендую против них:
const int volatile a = 1;
volatile int const b = 2;
const int volatile typedef vcint; // defines vcint to be an alias for const volatile int