web-dev-qa-db-fra.com

Différence entre uint32 et uint32_t

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

72
Maxbester

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.

99
William Pursell

uint32_t est défini dans la norme, dans

18.4.1 En-tête <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.

24
Luchian Grigore