SGI STL 源码阅读:空间配置器与对象生命周期
从 allocator 标准接口、construct/destroy 到 SGI 二级配置器,理解 STL 如何分离内存分配与对象构造。
Blog
按分类、标签和系列过滤文章,覆盖系统编程、C++、AI Agent、源码阅读和部署实践。
从 allocator 标准接口、construct/destroy 到 SGI 二级配置器,理解 STL 如何分离内存分配与对象构造。
理解迭代器如何把容器和算法粘合起来,以及 iterator_traits 如何解决原生指针和自定义迭代器的型别萃取。
围绕 vector、list、deque、stack、queue、heap 和 priority_queue,梳理序列式容器的存储结构和适配关系。
从红黑树节点、header 设计、旋转再平衡到 hashtable 桶结构,理解 set/map/hash_set/hash_map 的底层实现。
理解 unary_function、binary_function、not/bind/compose 等仿函数适配器,以及 stack、queue、priority_queue 的容器适配思想。
目标不是逐行背源码,而是把模型调用、工具调用、上下文压缩、状态更新串成一条可执行的工程主线。
围绕 Message 创建、工具调用配对、内部消息到 API 消息转换、token budget 自动继续策略梳理 Claude Code 的上下文结构。
围绕 Tool 接口、工具注册表、工具执行模块、多工具编排、query loop 回填梳理 Claude Code 如何把模型的 tool_use 变成本地动作。
围绕 Read、Glob、Grep 梳理 Claude Code 如何让模型观察本地代码库:先发现文件,再搜索内容,最后读取源码上下文。
围绕 PermissionMode、通用权限闸门、Bash 权限、安全解析、路径约束与权限结果回填,理解模型动作为什么必须由本地 runtime 裁决。
围绕 BashTool、runShellCommand、沙箱、timeout、后台任务、输出持久化和退出码语义,理解 Claude Code 如何执行真实 shell 动作。
围绕 AgentTool、runAgent、fork subagent、LocalAgentTask 与 SendMessage,梳理 Claude Code 如何把完整 Agent Loop 封装成子代理工具。
从 Agent Loop 的 messagesForQuery 出发,拆解 compact boundary、microcompact、autocompact、reactive compact、session memory compact。