Порядок модификаторов типов данных в C ++ - PullRequest
0 голосов
/ 22 февраля 2020

Почему в C ++ int long long unsigned x; не возникает синтаксическая ошибка, потому что unsigned и long long являются модификаторами, которые должны быть записаны перед типом данных?

Ответы [ 2 ]

5 голосов
/ 22 февраля 2020

модификаторы и должны быть записаны перед типом данных?

Нет

Согласно cppreference.com :

Модификаторы

Изменяет тип целого числа. Можно смешивать в любом порядке . В имени типа может присутствовать только одна из каждой группы.

Следовательно, при этом вы не получите никаких синтаксических ошибок, но это вызовет проблемы с читабельностью.

2 голосов
/ 22 февраля 2020

Модификаторы могут прийти в любом порядке до или после типа. int long unsigned, long int unsigned, unsigned int long, int unsigned long, long unsigned int, unsigned long int эквивалентны.

...