История изменений
Исправление vbr, (текущая версия) :
Я придерживаюсь следующих правил:
-
Если значение переменной передаётся или возвращается в API, то использовать нужный тип. К примеру open() возвращает int.
-
Если нужен гарантированный размер (это нужно редко) - использовать что-то вроде int8_t. Но надо понимать, что гарантии доступности всех этих типов нет и программа может не скомпилироваться.
-
В остальных случаях использовать что-то вроде int_fast8_t или int_least8_t в зависимости от того, нужна скорость или малое потребление памяти.
-
Естественно в нужных местах нужно использовать uintptr_t, size_t, ptrdiff_t и тд.
В целом использовать char, short, int, long и тд считаю плохим тоном, кроме как для использования внешних API. Типы из stdint имеют куда более понятную семантику.
Исправление vbr, :
Я придерживаюсь следующих правил:
-
Если значение переменной передаётся или возвращается в API, то использовать нужный тип. К примеру open() возвращает int.
-
Если нужен гарантированный размер (это нужно редко) - использовать что-то вроде int8_t. Но надо понимать, что гарантии доступности всех этих типов нет и программа может не скомпилироваться.
-
В остальных случаях использовать что-то вроде int_fast8_t или int_least8_t в зависимости от того, нужна скорость или малое потребление памяти.
-
Естественно в нужных местах нужно использовать uintptr_t, size_t, ptrdiff_t и тд.
В целом использовать char, short, int, long и тд считаю плохим тоном, кроме как для использования внешних API. Эти типы дают очень мало гарантий, поэтому корректный и быстрый код с их помощью писать практически невозможно.
Исходная версия vbr, :
Я придерживаюсь следующих правил:
-
Если значение переменной передаётся или возвращается в API, то использовать нужный тип. К примеру open() возвращает int.
-
Если нужен гарантированный размер (это нужно редко) - использовать что-то вроде int8_t. Но надо понимать, что гарантии доступности всех этих типов нет и программа может не скомпилироваться.
-
В остальных случаях использовать что-то вроде int_fast8_t или int_least8_t в зависимости от того, нужна скорость или малое потребление памяти.
-
Естественно в нужных местах нужно использовать uintptr_t, size_t, ptrdiff_t и тд.