He visto código C ++ como el siguiente con muchos typedef
s.
¿Cuáles son los beneficios de usar muchos typedef
s como este en lugar de usar primitivas de C ++? ¿Existe otro enfoque que también pueda lograr esos beneficios?
Al final, todos los datos se almacenan en la memoria o se transmiten a través del cable como bits y bytes, ¿realmente importa?
types.h:
typedef int16_t Version;
typedef int32_t PacketLength;
typedef int32_t Identity;
typedef int32_t CabinetNumber;
typedef int64_t Time64;
typedef int64_t RFID;
typedef int64_t NetworkAddress;
typedef int64_t PathfinderAddress;
typedef int16_t PathfinderPan;
typedef int16_t PathfinderChannel;
typedef int64_t HandsetSerialNumber;
typedef int16_t PinNumber;
typedef int16_t LoggingInterval;
typedef int16_t DelayMinutes;
typedef int16_t ReminderDelayMinutes;
typedef int16_t EscalationDelayMinutes;
typedef float CalibrationOffset;
typedef float AnalogValue;
typedef int8_t PathfinderEtrx;
typedef int8_t DampingFactor;
typedef int8_t RankNumber;
typedef int8_t SlavePort;
typedef int8_t EventLevel;
typedef int8_t Percent;
typedef int8_t SensorNumber;
typedef int8_t RoleCode;
typedef int8_t Hour;
typedef int8_t Minute;
typedef int8_t Second;
typedef int8_t Day;
typedef int8_t Month;
typedef int16_t Year;
typedef int8_t EscalationLevel;
Parece lógico tratar de asegurarme de que siempre se use el mismo tipo para algo en particular para evitar desbordamientos, pero a menudo veo código donde "int" se ha usado prácticamente en todas partes. Sin typedef
embargo, a menudo el código conduce a un código que se parece un poco a esto:
DoSomething(EscalationLevel escalationLevel) {
...
}
¿Qué me hace preguntarme qué token describe realmente el parámetro: el tipo de parámetro o el nombre del parámetro?
Minute
a una función que tiene un argumento declarado como tipo Second
.