文章
这里收录了我发布的全部文章。
-
现代 C++(三):Concepts、Ranges、Coroutines、Modules 如何重定义 C++
C++20 是继 C++11 之后最大的一次升级,核心是四个范式级特性同时落地:Concepts 把模板错误从 200 行报错变成一行说明,Ranges 用惰性 view + 管道语法重构了整个 STL 算法接口,Coroutines 让异步代码写得像同步(但标准库没给 Task,需要三方库),Modules 终于告别了头文件——每一个单独拎出来都足以改变一整类编程风格。
-
Go 基础:interface 与 first-class function 如何消解 GoF 模式
Go 没有继承、没有 abstract class,用隐式 interface + first-class function + channel 替代了 GoF 23 个模式中的绝大多数。真正需要手写的模式只有 Functional Options、Middleware Chain 和 Decorator 堆叠,其余要么是语言内置(Iterator = range,Singleton = sync.Once),要么是 Java 遗产在 Go 里直接不需要。
-
现代 C++(二):if constexpr、optional 与 variant 如何降低认知负担
C++17 不是革命而是善后——它把 Boost.Optional/Variant/Any/Filesystem/string_view 吸收进标准库,用 if constexpr 和折叠表达式干掉 SFINAE 地狱,用结构化绑定消除 std::tie 的笨重,用 CTAD 让模板参数不再冗余;日常业务代码的认知负载一次性大幅下降,是应届生和资深的分水岭。
-
Go 基础:interface 的底层实现-eface 与 iface
梳理 Go interface 的底层表示,重点看 eface、iface、itab 和运行时类型元数据如何协作完成方法派发。