Почему в C ++ int long long unsigned x; не возникает синтаксическая ошибка, потому что unsigned и long long являются модификаторами, которые должны быть записаны перед типом данных?
int long long unsigned x;
unsigned
long long
модификаторы и должны быть записаны перед типом данных?
Нет
Согласно cppreference.com :
Модификаторы Изменяет тип целого числа. Можно смешивать в любом порядке . В имени типа может присутствовать только одна из каждой группы.
Изменяет тип целого числа. Можно смешивать в любом порядке . В имени типа может присутствовать только одна из каждой группы.
Следовательно, при этом вы не получите никаких синтаксических ошибок, но это вызовет проблемы с читабельностью.
Модификаторы могут прийти в любом порядке до или после типа. int long unsigned, long int unsigned, unsigned int long, int unsigned long, long unsigned int, unsigned long int эквивалентны.
int long unsigned
long int unsigned
unsigned int long
int unsigned long
long unsigned int
unsigned long int