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 ++? ¿Hay otro enfoque que también podría lograr esos beneficios?
Al final, todos los datos se almacenan en la memoria o se transmiten por el 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 intentar y asegurarse de que siempre se use el mismo tipo para una cosa en particular para evitar desbordamientos, pero a menudo veo el código donde "int" se ha usado casi en todas partes. Sin embargo, el typedef
ing a menudo conduce a un código que se parece a esto:
DoSomething(EscalationLevel escalationLevel) {
...
}
Lo que me hace preguntarme qué token está describiendo realmente el parámetro: ¿el tipo de parámetro o el nombre del parámetro?