Duplicate possible:
Différence entre différents types d’entiers
Quelle est la différence entre uint32 et uint32_t en C/C++?
Sont-ils dépendants du système d'exploitation?
Dans quel cas devrais-je utiliser l'un ou l'autre?
Merci
uint32_t
est standard, uint32
n'est pas. Autrement dit, si vous incluez <inttypes.h>
ou <stdint.h>
, vous obtiendrez une définition de uint32_t
. uint32
est un typedef dans une base de code locale, mais vous ne devez pas vous attendre à ce qu'il existe à moins que vous ne le définissiez vous-même. Et le définir vous-même est une mauvaise idée.
uint32_t
est défini dans la norme, dans
<cstdint>
synopsis [cstdint.syn]namespace std {
//...
typedef unsigned integer type uint32_t; // optional
//...
}
uint32
n'est pas, c'est un raccourci fourni par certains compilateurs (probablement comme typedef uint32_t uint32
) pour la facilité d'utilisation.