A deep-dive into Anthony William’s lock-free atomic<shared_ptr<T>> design

C++
Author

dev::author

Published

August 16, 2026

A quick refresher on standard smart pointers

Raw-pointers are low-level facilities that are extremely easy to misuse. It is not possible to infer the responsibility of the pointee - you cannot tell from the source-code, what the semantics are. There’s a huge risk of various programming errors e.g. memory leaks, double deletions etc. The standard smart pointers are an abstraction, a wrapper over raw-pointers that are harder to misuse, and provide clear ownership information.