文章摘要
作者以 std::function 被新标准组件取代为例,揭示了 C++ 标准库中大量功能(如 std::auto_ptr、GC 接口等)被正式废弃或重写的现状。文章将这些“撤回”行为分为正式废弃、非正式规避以及因 ABI 限制无法修复的缺陷三个层级。特别提到 C++ 标准库容器在极端负载下的 P99 延迟远高于 Rust,根源在于为了维持 ABI 兼容而无法优化的陈旧设计。
社区讨论
社区讨论普遍对 C++ 标准库的沉重负担表示反思,对比了 Rust 相对稳定且现代的演进历程。核心观点认为 C++ 的编译慢和安全性差很大程度上源于标准库的头文件膨胀和设计缺陷,而非语言本身。同时,讨论也指出由于缺乏破坏性移动和生命周期标注等底层特性,C++ 很难在不破坏兼容性的前提下实现同等安全的 API。