Ответ 1
"t" означает "тип" (или некоторым людям, typedef
, который является командой, используемой для их создания). size_t
- тип, используемый для указания размеров памяти. time_t
, с другой стороны, это тип, используемый для указания временных интервалов. Как правило, они относятся к одному и тому же базовому типу (64-битное или 32-битное целое, в зависимости от платформы), но ярлык помогает держать их в прямой форме, так что детали реализации могут быть выбиты компилятором.
Например, time_t
используется как 32-битное целое число, что означает, что часы перевернутся в 2038 году. Но на большинстве 64-разрядных архитектур они расширили time_t
до 64-битного целого числа, что означает, что 64-битные системы не будут иметь проблему "год-2038". Поскольку код, относящийся к временным меткам unix, использует имя типа time_t
, а не int
, чтобы ссылаться на эти значения, все будет "просто работать", когда вы просто перекомпилируете код для своей новой архитектуры.