Independently published, 2023. — 75 p. — ISBN: 13: 978-0473679750.
A short textbook for anyone interested in understanding Rust's smart pointers, including people who don't know what smart pointers are.
About the BookExplore the various types of smart pointers available in Rust, their use cases, and how they contribute to managing memory safely and efficiently. By reading this guide, you'll learn what smart pointers are, how to use them and h,ow to build you.
In some sense, they are the essence of Rust's "zero-cost abstraction" philosophy, whereby you only pay for what you use.
Smart pointers are powerful tools that provide additional functionality and guarantees compared to raw pointers. If you're unsure what a raw pointer is, that's okay, we'll discuss that too.
We'll cover the core smart pointer types in Rust, including Box<T>, Rc<T>, Arc<T>, RefCell<T>, and Mutex<T>. Each type will be thoroughly explained, accompanied by practical code examples that are linked directly in the Rust playground, so you can run them in your web browser.
Whether you are a Rust enthusiast, a curious learner, or a seasoned developer looking to enhance your memory management skills, this guide is here to support your journey. So let's dive in and unlock the power of smart pointers in Rust!
Defining smart pointers.
Ownership.
Borrowing.
Lifetimes.
Understanding Rust.
Defining smart pointers, again.
Why use them?
Automatic memory management.
Prevent data races.
Add superpowers to pointers.
Simplify code.
Stdlib's smart pointers.
Box<T>.
Rc<T>.
Arc<T>.
RefCell<T>.
Mutex<T>.
RwLock<T>.
Building your smart pointers.
Drop.
Deref.
DerefMut.
Extension topics.
Cyclic data structures.
Rc<T> from scratch.
PhantomData<T>.
Recap.
Cheat sheet.
About Tim McNamara.