Todas las respuestas aquí dejar de mencionar la verdadera razón de uint
.
Obviamente es typedef
de unsigned int
, pero eso no explica su utilidad.
La verdadera pregunta es,
¿Por qué alguien quiere typedef un tipo fundamental para una versión abreviada ?
¿Guardar ahorrar en escribir?
No, lo hicieron por necesidad.
Considere el lenguaje C; un lenguaje que no tiene plantillas.
¿Cómo harías para acabar con tu propio vector que puede contener cualquier tipo?
Podría hacer algo con punteros vacíos,
pero una emulación más cercana de las plantillas le obligaría a recurrir a las macros.
Así definiría su vector plantilla:
#define define_vector(type) \
typedef struct vector_##type { \
impl \
};
Declarar sus tipos:
define_vector(int)
define_vector(float)
define_vector(unsigned int)
y tras generación, darse cuenta de que los tipos deberían ser de un solo símbolo:
typedef struct vector_int { impl };
typedef struct vector_float { impl };
typedef struct vector_unsigned int { impl };
y ¿qué implica este hecho? –
@the_candyman: Que su gcc puede tener 'uint', o puede pasar que no lo tenga. It * will * have 'unsigned int' – Erik
Ese código escrito con' uint' no será inherentemente portable a menos que 'uint' sea' typedef' que usted declare realmente dentro de ese código. – Jack