C++11 типов uint против u_int

Я просто наткнулся на тип u_int8_t потому что он не компилировался в Windows+MinGW (но прекрасно компилировался под Linux). Согласно этому сайту стандарт C++11 определяет тип uint8_t, Я просто использовал последний, и все работало.

Возникшие вопросы:

  1. Есть ли разница между u_int8_t а также uint8_t?
  2. Есть ли причина (помимо устаревшего кода) использовать u_int8_t?
  3. Можно ли предположить, что uint8_t будет присутствовать, если я использую компилятор C++11 (на разных ОС или архитектурах)?
  4. Являются ли ответы на вышеуказанные вопросы также применимыми для других типов (intX_t а также uintX_t)?

1 ответ

Решение

Есть ли разница между u_int8_t а также uint8_t?

u_int8_t это просто очень старое имя, которое не было стандартизировано. Избегай это.

Есть ли причина (помимо устаревшего кода) использовать u_int8_t?

Самоубийство со стороны коллеги.

Можно ли предположить, что uint8_t будет присутствовать, если я использую компилятор C++11 (на разных ОС или архитектурах)?

Стандарт C++ требует, чтобы он присутствовал во всех реализациях, имеющих доступный 8-битный тип без знака (сегодня это означает все, что не является экзотикой).

Являются ли ответы на вышеуказанные вопросы также применимыми для других типов (intX_t а также uintX_t)?

Да, довольно.

Другие вопросы по тегам