Ich habe C ++ - Code wie den folgenden mit vielen typedef
s gesehen.
Was sind die Vorteile der Verwendung vieler typedef
s im Vergleich zur Verwendung von C ++ - Grundelementen? Gibt es einen anderen Ansatz, mit dem auch diese Vorteile erzielt werden könnten?
Am Ende werden alle Daten im Speicher gespeichert oder als Bits und Bytes über die Leitung übertragen. Ist das wirklich wichtig?
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;
Es scheint logisch, zu versuchen, sicherzustellen, dass für eine bestimmte Sache immer derselbe Typ verwendet wird, um Überläufe zu vermeiden, aber ich sehe häufig Code, in dem stattdessen "int" so ziemlich überall verwendet wurde. Das typedef
ing führt jedoch häufig zu Code, der ungefähr so aussieht:
DoSomething(EscalationLevel escalationLevel) {
...
}
Wodurch frage ich mich dann, welches Token den Parameter tatsächlich beschreibt: den Parametertyp oder den Parameternamen?
Minute
an eine Funktion zu übergeben, für die ein Argument als Typ deklariert wurde Second
.