Во всех ответах здесь не упоминается истинная причина uint
.
Это, очевидно, typedef
из unsigned int
, но это не объясняет его полезность.
Реальнаявопрос в том,
Зачем кому-то хотеть печатать определение базового типа для сокращенной версии?
Чтобы сэкономить на наборе?
Нет, они сделали это изнеобходимость.
Рассмотрим язык C;язык, в котором нет шаблонов.
Как бы вы выполнили штампование своего собственного вектора, который может содержать любой тип?
Вы могли бы что-то сделать с указателями void,
, но более близкая эмуляция шаблонов заставила бы вас прибегнуть к макросам.
Итак, вы бы определили свой шаблонный вектор:
#define define_vector(type) \
typedef struct vector_##type { \
impl \
};
Объявите ваши типы:
define_vector(int)
define_vector(float)
define_vector(unsigned int)
И после генерации поймите, что типы должны быть одним токеном:
typedef struct vector_int { impl };
typedef struct vector_float { impl };
typedef struct vector_unsigned int { impl };