Easyтипы

Чем отличаются int8_t, int16_t, int32_t, int64_t от int/long/short?

1Постановка

Разберём, что от вас хотят в этом вопросе и как к нему подступиться на собеседовании.

2Решение

`int8_t`/`int16_t`/`int32_t`/`int64_t` (из <cstdint>) — типы с фиксированным размером в битах, гарантированно 1/2/4/8 байт. `int`/`long`/`short` — размеры зависят от платформы и модели данных.

#include <cstdint>
int32_t x = 42;          // всегда 4 байта
int y = 42;              // обычно 4 байта, но не гарантировано
long z = 42;             // 4 на Windows (LLP64), 8 на Linux/Mac (LP64)
uint32_t u = 0;          // беззнаковая версия

Используйте fixed-width типы, когда размер критичен: бинарные протоколы, файловые форматы, межплатформенный код. Обычный int — для счётчиков и индексов.

3Как отвечать

  • Сначала уточните условия и ограничения, покажите аналитическое мышление.
  • Рассуждайте вслух — интервьюеру важен ход мысли, а не только финальный ответ.
  • Оцените сложность по времени и памяти (Big-O), если это алгоритмический вопрос.
💡

На реальном собеседовании Alffert подскажет развёрнутый ответ в реальном времени.