C23 新特性:enum 可指定底层类型,8 位就够时不必占 4 字节
lemire · x · 2026-09-02
Daniel Lemire 介绍 C23 中 enum 的一个实用新特性——可以显式指定底层类型:
- 传统上编译器常把 enum 底层选为 int(4 字节),如 enum status {OK = 0, ERROR = -1}; 往往占 32 位。
- C23 允许写 enum status : int8t {OK = 0, ERROR = -1};,把它压到 8 位,可用于减少或固定内存占用,对需要精确控制内存布局的类型很有用。
- 也可以放大到更大整数,如 enum status : uint64t,容纳最大到 0xFFFFFFFFFFFFFFFF 的值。
配 staticassert 验证大小的完整示例,技巧可直接照用。
「编程与Agent」频道最新
- 双 GPU 本地跑 DeepSeek V4 Flash 达 1400 tokens/秒修复 iOS bug — HankYeomans · 2026-09-02
- 邮件服务 Unitpost 登陆 Product Hunt,支持让 AI Agent 代发邮件 — thisiskp_ · 2026-09-02
- Gemini 发布 agentic 视频理解,附开发者讲解视频 — patloeber · 2026-09-02
- 从 eval 到 SFT 再到 vLLM 调优,一手复盘为大客户省推理成本 — dhruv2038 · 2026-09-02
- Simon Willison 演示:让 ChatGPT 抓政府数据,随手造 GeoJSON 地图工具 — MaxLenormand · 2026-09-02
- 开发者评 Codex:实用但毛糙,营销成分两面都有 — D3VAUX · 2026-09-02