LINUX.ORG.RU

История изменений

Исправление vbr, (текущая версия) :

Я придерживаюсь следующих правил:

  1. Если значение переменной передаётся или возвращается в API, то использовать нужный тип. К примеру open() возвращает int.

  2. Если нужен гарантированный размер (это нужно редко) - использовать что-то вроде int8_t. Но надо понимать, что гарантии доступности всех этих типов нет и программа может не скомпилироваться.

  3. В остальных случаях использовать что-то вроде int_fast8_t или int_least8_t в зависимости от того, нужна скорость или малое потребление памяти.

  4. Естественно в нужных местах нужно использовать uintptr_t, size_t, ptrdiff_t и тд.

В целом использовать char, short, int, long и тд считаю плохим тоном, кроме как для использования внешних API. Типы из stdint имеют куда более понятную семантику.

Исправление vbr, :

Я придерживаюсь следующих правил:

  1. Если значение переменной передаётся или возвращается в API, то использовать нужный тип. К примеру open() возвращает int.

  2. Если нужен гарантированный размер (это нужно редко) - использовать что-то вроде int8_t. Но надо понимать, что гарантии доступности всех этих типов нет и программа может не скомпилироваться.

  3. В остальных случаях использовать что-то вроде int_fast8_t или int_least8_t в зависимости от того, нужна скорость или малое потребление памяти.

  4. Естественно в нужных местах нужно использовать uintptr_t, size_t, ptrdiff_t и тд.

В целом использовать char, short, int, long и тд считаю плохим тоном, кроме как для использования внешних API. Эти типы дают очень мало гарантий, поэтому корректный и быстрый код с их помощью писать практически невозможно.

Исходная версия vbr, :

Я придерживаюсь следующих правил:

  1. Если значение переменной передаётся или возвращается в API, то использовать нужный тип. К примеру open() возвращает int.

  2. Если нужен гарантированный размер (это нужно редко) - использовать что-то вроде int8_t. Но надо понимать, что гарантии доступности всех этих типов нет и программа может не скомпилироваться.

  3. В остальных случаях использовать что-то вроде int_fast8_t или int_least8_t в зависимости от того, нужна скорость или малое потребление памяти.

  4. Естественно в нужных местах нужно использовать uintptr_t, size_t, ptrdiff_t и тд.