int
не дает лучшей производительности, чем другие типы.Действительно, на большинстве современных платформ все целочисленные типы будут работать одинаково, за исключением long long
.Если вы хотите получить «самое быстрое» целое число, доступное на вашей платформе, C ++ не даст вам способа сделать это.
С другой стороны, если вы хотите использовать вещи, определенные в C99, вы можете использовать один из определенных здесь типов "fastint".
Кроме того, на современных машинах иерархия памятив большинстве случаев важнее, чем вычисления процессора.Использование целочисленных типов меньшего размера позволяет разместить больше целых чисел в кэше ЦП, что повысит производительность практически во всех случаях.
Наконец, я бы рекомендовал , а не , используя int
в качестве типа данных по умолчанию,Обычно я вижу, что люди достигают int
, когда они действительно хотят вместо этого целое число без знака.Преобразование из подписанного в неподписанное может привести к незначительным целочисленным ошибкам переполнения, что может привести к уязвимостям безопасности.
Не выбирайте тип данных из-за внутренней "скорости" - выберите правильный тип данных для решенияпроблема, которую вы хотите решить.