私は次のようなC ++コードをたくさん見ましたtypedef
。
typedef
C ++プリミティブを使用するのとは対照的に、このような多くのを使用する利点は何ですか?これらの利点も達成できる別のアプローチはありますか?
最終的に、データはすべてメモリに保存されるか、ビットとバイトとしてワイヤを介して送信されますが、本当に重要ですか?
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;
オーバーフローを回避するために特定の事柄に常に同じ型が使用されるようにすることは論理的に思えますが、代わりに「int」がほとんどどこでも使用されているコードをよく見かけます。typedef
INGのは、しばしばかかわらビット、次のようになり、そのコードにリードを行います。
DoSomething(EscalationLevel escalationLevel) {
...
}
それで、どのトークンが実際にパラメーターを記述しているのか、つまりパラメーターのタイプまたはパラメーター名を疑問に思いますか?
Minute
typeとして宣言された引数を持つ関数に渡すことを妨げるものは何もありませんSecond
。