TGViewer
C++ Academy C++ Academy @cpluspluc · 15.5K subscribers
Post #1569 552
C23 сделал enum в C заметно удобнее для низкоуровневого кода.

Раньше базовый тип перечисления обычно выбирал компилятор, и enum часто занимал размер обычного int:


enum status {
OK = 0,
ERROR = -1
};


На многих системах это 4 байта.

В C23 можно явно указать базовый тип:


enum status8 : int8_t {
OK8 = 0,
ERR8 = -1
};


Теперь такой enum занимает 1 байт.

Можно и наоборот использовать большой тип:


enum status64 : uint64_t {
OK64 = 0,
ERR64 = UINT64_C(0xFFFFFFFFFFFFFFFF)
};


Это особенно полезно там, где важен точный layout структуры, ABI, сетевые протоколы, embedded и работа с бинарными форматами.

В C23 размер enum теперь можно контролировать явно, а не полагаться на выбор компилятора.
  • 🔥 10
  • 🤯 1
More from @cpluspluc
  1. Sep 26, 2026Minimum-Cost Maximum-Flow всего в ~110 строках C++ Хороший компактный пример одного из сам…
  2. Sep 25, 2026🐧 Linux Cheat Sheet - шпаргалка по командам Linux Самая удобная шпаргалка по Linux и Bash…
  3. Sep 24, 2026photo post
  4. Sep 24, 2026`🤖 В SourceCraft появилась команда цифровых разработчиков Агентам можно назначать задачи…
  5. Sep 23, 2026😂 Собеседование на C++ прошло успешно HR: у вас есть опыт с C++? Я: конечно, отлично знаю…
  6. Sep 22, 2026Физически корректный ray tracer всего в 99 строках C++ smallpt от Kevin Beason - один из с…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →