热文C++中介者模式降低耦合度 # 用中介者模式“拉群聊”,让C++对象不再私聊到崩溃 写过中大型C++项目的人都懂:当一个模块里 `WidgetA` 要通知 `ServiceB`,`ServiceB` 又得同步状态给 `LoggerC`,而 `L... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.98 K 阅读
C++解释器模式语言文法解析 # C++里写个“小语言”?解释器模式不是玩具,是文法解析的务实入口 上周帮同事调一个配置热加载模块,他用硬编码的 if-else 判断几十种表达式语法,改一次逻辑要编译三分钟。我顺手把那堆分支抽出来,用解释器模式重... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 515 阅读
C++访问者模式操作元素结构 # 访问者模式:让C++结构体“自己开口说它能干啥” 上周帮同事调一个图形渲染模块,他写了七八个形状类(Circle、Rect、Triangle……),每个都得支持序列化、碰撞检测、OpenGL绘制三套逻辑。结果改个... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 744 阅读
C++CRTP奇异递归模板模式 # CRTP:C++里那个“自己继承自己”的聪明 trick 你有没有写过这样的代码:想让基类能调用派生类的函数,又不想用虚函数——毕竟虚表开销、动态绑定、多态那套太重了?或者你试过 `static_cast(thi... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 767 阅读
热文C++SFINAE替代失败不是错误 # SFINAE:不是报错,是悄悄退场 你写了个模板函数,传入 `std::vector` 没问题,可一换 `int*` 就编译失败——错误信息里还夹着一长串 `no type named 'value_type' ... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.81 K 阅读
热文C++enable_if条件编译模板 # `enable_if` 不是魔法,是带开关的模板车间 写 C++ 模板时,你有没有遇到过这种尴尬: 想让某个函数只对整数类型生效,结果 `std::string` 一传进去,编译器直接甩给你半屏错误——不是语义错... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.4 K 阅读
C++type_traits类型特征查询 # C++里怎么“问”一个类型它自己长啥样?——type_traits实战手记 写模板代码时,你有没有过这种瞬间: 明明传进来的`T`是`int`,可偏偏要为`std::string`多加一层`if constexp... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 814 阅读
热文C++is_same判断类型是否相同 # `is_same` 不是“判断两个类型长得像不像”,而是“它们是不是同一个类型” 写模板代码时,你有没有遇到过这种场景:函数要根据传入的类型做不同处理,比如 `int` 就直接算,`std::string` 就得... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 1.62 K 阅读
C++conditional三元类型选择 # C++ 里的“类型三选一”:`std::conditional` 不是语法糖,是编译期的决策引擎 你写模板时有没有过这种时刻: 想根据某个布尔条件,在编译期决定用 `int` 还是 `long long`,或者选... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 315 阅读
C++decay去除引用与数组退化 # `std::decay`:C++里那个默默帮你“松绑”的类型处理器 你写模板函数时,有没有遇到过这种尴尬? 传进去一个 `const std::string&`,结果模板参数推导出 `const std::str... Dark零点/ C++教程/ 2026-04-11/ 0 评论/ 407 阅读