In this chapter, we've learned about the following:
- The differences between heap and stack memory
- How to use Box to simply store something on the heap, when we wish to do so
- How to use Rc to manage the lifetime of a data value that is needed in many scopes with varying lifetimes
- How to use Cell and RefCell to allow write access to data stored in an Rc
- How to use Arc, Mutex, and RwLock to manage sharing information between threads
In the next chapter, we're going to be looking at generic types, and how to use generic type parameters for our own data types.