Cover
Introduction
Contents
Defining smart pointers
Understanding Rust
Defining smart pointers, again
Why use them?
Stdlib's smart pointers
Building your own smart pointers
Extension topics
Recap
Cheat sheet
Afterword
About Tim McNamara
Explore 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 how to build your own.
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!