Tôi đã thấy mã C ++ như sau với nhiều typedef
s.
Những lợi ích của việc sử dụng nhiều typedef
s như thế này trái ngược với việc sử dụng các nguyên hàm C ++ là gì? Có một cách tiếp cận khác cũng có thể đạt được những lợi ích đó?
Cuối cùng, tất cả dữ liệu được lưu trữ trong bộ nhớ hoặc được truyền qua dây dưới dạng bit và byte, điều đó có thực sự quan trọng không?
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;
Có vẻ hợp lý để thử và đảm bảo cùng loại luôn được sử dụng cho một điều cụ thể để tránh tràn, nhưng tôi thường thấy mã trong đó "int" đã được sử dụng khá nhiều ở mọi nơi thay thế. Việc typedef
ing thường dẫn đến mã trông giống như thế này:
DoSomething(EscalationLevel escalationLevel) {
...
}
Điều đó khiến tôi tự hỏi mã thông báo nào thực sự mô tả tham số: loại tham số hoặc tên tham số?
Minute
đến một hàm có đối số được khai báo là kiểu Second
.