не должно иметь typedef для него.

давнего времени я считал, что решение большинства разработчиков и поставщиков систем должно быть простым.int 32-битные даже на 64-битных машинах своего рода целесообразные бородавки. С современными типами фиксированных размеров C99 (int32_t а такжеuint32_tи т. д.) необходимость в наличии стандартного целочисленного типа каждого размера 8, 16, 32 и 64 в основном исчезает, и кажется, чтоint с таким же успехом может быть сделано 64-битным.

Однако самое большое реальное следствие размера равниныint в C исходит из того факта, что C по существу не имеет арифметику на меньше чемint типы. В частности, еслиint больше, чем 32-битный, результат любой арифметики наuint32_t значения имеет типsigned int, что довольно тревожно.

Это хорошая причина, чтобы сохранитьint навсегда зафиксирован на 32-битной в реальных реализациях? Я склоняюсь к тому, чтобы сказать да. Мне кажется, что может быть огромный класс использованияuint32_t который сломается когдаint больше 32 бит Даже применение унарного минуса или побитового оператора дополнения становится опасным, если вы не приведете обратно кuint32_t.

Конечно, те же вопросы относятся кuint16_t а такжеuint8_t на текущих реализациях, но все, кажется, знают и привыкли рассматривать их как «меньше, чемintтипы

Ответы на вопрос(0)

Ваш ответ на вопрос