Tuesday, February 15, 2011

shared_ptr – Advanced STL, Part 1

Part 1 of my video lecture series exploring the Standard Template Library’s implementation is now available.  In this part, I explain how some of shared_ptr’s magic works, including type erasure and make_shared<T>()’s optimizations that save both space and time.

This advanced series assumes that you’re familiar with C++ and the STL’s interface, but not the STL’s implementation.  If you haven’t used the STL extensively yet, I recommend watching my introductory series.  For reference, here are all of the links:

[STL Introduction]

 (sequence containers)
Part 2 (associative containers)
Part 3 (smart pointers)
Part 4 (Nurikabe solver) - see Wikipedia's article and my updated source code
Part 5 (Nurikabe solver, continued)
Part 6 (algorithms and functors)
Part 7 (algorithms and functors, continued)
Part 8 (regular expressions)
Part 9 (rvalue references)
Part 10 (type traits)

[Advanced STL]
Part 1 (shared_ptr)

Read more: Visual C++ Team Blog