Skip to content

指针语义与弱引用设计

C++ 里到处都是指针,但并不是所有指针都"拥有"它指向的对象。裸指针 T* 可以是拥有的也可以是非拥有的,T& 表达借用但不可空,std::weak_ptr 解决了 shared ownership 下的弱引用问题——但如果你不用 shared_ptr 管理对象呢?Chromium 的 WeakPtr 又是怎么设计的?为什么 T* + raw Flag* 看起来像 WeakPtr 其实不是?

这个专题我们从头手搓各种非拥有指针类型,一边实现一边搞清楚它们的语义边界、安全条件和工程取舍。

本章内容

v0.7.1-2-g3718060 · 3718060 · 2026-07-06