Skip to content

败犬日报 2025-08-21

1. 模板模板参数的一个例子:Allocator rebind

这个操作非常神人。

如果要写一个模板容器(如红黑树),用户提供的是一个节点的 allocator 类型 Allocator<Node>,模板容器可以把 allocator 拿出来 rebind 成其他类型 Allocator<Other>

2. 微软的 proxy 适用场景是什么

https://zhuanlan.zhihu.com/p/22307747744 的评论区。

除了性能外,主要是更加灵活,proxy 是非侵入式的多态实现。

3. goto 有没有合适的应用

复杂一点的状态机,比手写 switch 简单清晰很多,控制流跳转一目了然。

4. 头文件、符号循环依赖的工程难题

循环依赖的问题核心难点是你根本没法抽象出一个图,连正确解析依赖都做不到。比如宏套宏,现在用啥工具能分析出来符号依赖呢。

特别是在两个头文件互相依赖的时候,clangd 必须要先做出一个假设才能往下推进,然后其中一个文件就会导致很多符号没法分析,必须得你手动拆。现在两个不管是 A 先还是 B 先都不对的情况下,工具就没法自动梳理出来依赖,只能手动分析然后改。