Разница между uint32 и uint32_t
Возможный дубликат:
Разница между различными целыми типами
В чем разница между uint32 и uint32_t в C/С++?
Являются ли они зависимыми от ОС?
В каком случае я должен использовать тот или иной?
Спасибо
Ответы
Ответ 1
uint32_t
является стандартным, uint32
- нет. То есть, если вы включите <inttypes.h>
или <stdint.h>
, вы получите определение uint32_t
. uint32
является typedef в некоторой локальной базе кода, но вы не должны ожидать, что он будет существовать, если вы не определите его самостоятельно. И определение этого - плохая идея.
Ответ 2
uint32_t
определяется в стандарте, в
18.4.1 Заголовок <cstdint>
синопсис [cstdint.syn]
namespace std {
//...
typedef unsigned integer type uint32_t; // optional
//...
}
uint32
нет, это ярлык, предоставляемый некоторыми компиляторами (возможно, как typedef uint32_t uint32
) для удобства использования.