Конечно, есть компиляторы, которые имеют 64 бит ints
.
int
- это, как правило, размер естественного размера слова для вашей архитектуры (то есть 64-битная система имеет 64-битную ints
, 16-битная система имеет 16-битную ints
и т. Д.).
И вам не следует использовать int32_t
, если вы не знаете, что для переменной требуется 32 бита, например, для сетевого протокола, двоичного формата файла или аппаратного регистра.Если вы используете int32_t
на 64-битной машине, где это не нужно, то вы можете представлять проблему с производительностью без причины.Поскольку int
- это натуральный размер слова, он также является наиболее эффективным типом данных.Это особенно верно для архитектур RISC.