Есть ли причина не использовать целочисленные типы фиксированной ширины (например, uint8_t)?
Предполагая, что вы используете компилятор, который поддерживает C99 (или даже просто stdint.h), есть ли причина не использовать целочисленные типы фиксированной ширины, такие как uint8_t?
Одна из причин, по которой я знаю, заключается в том, что имеет больше смысла использоватьchar
s при работе с персонажами вместо использования(u)int8_t
с, как упоминалось вэтот вопрос.
Но если вы планируете хранить число, когда вы захотите использовать тип, который вы не знаете, насколько он велик? То есть В какой ситуации вы хотите сохранить номер вunsigned short
не зная, если это 8, 16 или даже 32 бит, вместо использованияuint16t
?
Исходя из этого, считается ли более эффективной практикой использование целых чисел фиксированной ширины или использование нормальных целочисленных типов и просто никогда не принимать что-либо и использоватьsizeof
Где вам нужно знать, сколько байтов они используют?