Единственная реальная цель этого в C - поддерживать переносимость.Стандарт C не говорит вам точно, какой размер различных числовых типов будет на всех поддерживаемых архитектурах, он просто сообщает вам минимальный размер.Таким образом, поскольку вам может потребоваться изменить базовый тип реализации, вы используете typedef
и понятное имя для кода.
Это не относится к VB 6. Размер всех встроенных типов четко определен и гарантированно не изменится.Это часть спецификации VB 6.Так что на самом деле не так уж много нужно для typedef
или его эквивалента.
Полагаю, некоторые люди используют typedef
s в C для удобства чтения, но я не покупаю это использование.Если это целочисленный тип, используйте целочисленный тип соответствующего размера.Нет реальной выгоды для читабельности:
typedef int ProductKey;
Единственный случай, когда это имеет смысл, - это если вы определяете новый, полноценный тип, такой как цвет.Но в этом случае программисты на C обычно используют typedef
для определения типа цвета в терминах целочисленного типа для экономии места и памяти.
Опять же, это не имеет значения в VB 6, потому что вы этого не делаетепрежде всего, пишите код на VB 6, если вы заботитесь об экономном использовании памяти и максимальной скорости.Существует гораздо больше преимуществ для создания структуры (определяемого пользователем типа) или даже класса, который представляет тип цвета, а затем вместо этого используется , что , в вашем коде.Таким образом, вы получаете все преимущества читабельности и типобезопасности (это то, что вы не получаете в C с typedef
).Если вы хотите реализовать тип Color
под капотом как Long
, это ваше дело.