热文C++awaitable类型自定义等待 # 自定义 `awaitable`:C++20 协程里,让 `co_await` 听你的话 刚写完一个 `co_await http_client.get("/api")`,结果编译报错:“no matching `... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.37 K 阅读
C++modules模块化编译新特性 # C++ Modules:不是“更快的头文件”,而是编译关系的重新设计 上周帮同事调一个编译耗时翻倍的项目,`clang++ -ftime-trace` 一跑,发现光是预处理就占了 68% 的时间——几十个 `.c... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 443 阅读
C++import导入模块替代include # C++20 的 `import`:不是“更好用的 `#include`”,而是换了一套思维 上周帮同事调一个编译慢得离谱的模块,光预处理就占了 42 秒。他顺手 `#include ` 和 `` 各十几次,头文件... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 900 阅读
C++export导出模块接口声明 # C++ `export` 不是“导出DLL”的开关,而是模块系统的语法钥匙 刚接触 C++20 模块(Modules)时,我翻文档看到 `export` 关键字,下意识以为它和 `.dll` 里的 `__decl... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 251 阅读
热文C++module partitions模块分区 # C++20 Module Partitions:拆分大模块时,别让编译器替你“猜”依赖 写过大型 C++ 项目的人都懂那种微妙的疲惫感:改一行 `utils.h`,整个项目重编译五分钟;想把一个千行模块拆开,又怕... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.96 K 阅读
热文C++反射提案与静态反射用法 # C++还没“照镜子”?聊聊静态反射提案与它真正能干的事 上周写模板元编程时,又卡在了类型名转字符串这一步——想让日志自动打出 `std::vector` 而不是硬编码 `"vector"`,结果翻遍 `˂ty... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.41 K 阅读
热文C++属性[[nodiscard]]忽略返回警告 # `[[nodiscard]]` 被忽略?不是编译器失灵,是你没踩对“警告触发点” 上周帮同事看一段内存池代码,他皱着眉说:“我明明加了 `[[nodiscard]]`,可调用 `allocate()` 后直接丢弃... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 2.01 K 阅读
热文C++属性[[maybe_unused]]抑制未用 # `[[maybe_unused]]`:那个被你忽略的“消音键” 写C++时,有没有过这种尴尬时刻? 函数参数明明是为未来扩展预留的,编译器却跳出来警告:“`unused parameter 'ctx'`”; 某个... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.5 K 阅读
热文C++属性[[deprecated]]标记废弃 # `[[deprecated]]` 不是贴纸,是写给未来自己的便条 上周帮同事看一段老代码,发现一个函数被加了 `[[deprecated]]`,但调用它的地方没任何提示,编译也安静得像什么都没发生。他挠头问我:“... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.78 K 阅读
C++属性[[fallthrough]]开关穿透 # `[[fallthrough]]`:C++里那个被低估的“我故意不加break”的声明 写过 switch 的人,大概都踩过这个坑:逻辑明明该在某个 case 结束,却因为少打了一个 `break`,程序一路穿透... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 342 阅读