C9 Lectures: Stephan T Lavavej - Advanced STL, 3 of n
- Posted: Mar 30, 2011 at 8:28AM
- 79,174 views
- 44 comments
Loading user information from Channel 9
Something went wrong getting user information from Channel 9
Loading user information from MSDN
Something went wrong getting user information from MSDN
Loading Visual Studio Achievements
Something went wrong getting the Visual Studio Achievements
Right click “Save as…”
Many thousands of you have watched Stephan T. Lavavej's great introductory series on the STL on Channel 9. If you haven't, then you should.
There are two STLs: the Standard Template Library and Stephan T. Lavavej You will get to know a lot about each STL over the course of these lectures.
Advanced STL covers the gory details of the STL's implementation -> you will therefore need to be versed in the basics of STL, competent in C++ (of course), and be able to pay attention! Stephan is a great teacher and we are so happy to have him on Channel 9—the only place you'll find this level of technical detail regarding the internals of the STL. There are no books. There are no websites. This is Stephan taking us into what is uncharted territory for most, even those with a more advanced STL skill set.
In this third part of the n-part series, STL digs into the _ITERATOR_DEBUG_LEVEL "New World Order," as he says, which powers the STL's comprehensive correctness checks. You will also learn about the history of _SECURE_SCL and _HAS_ITERATOR_DEBUGGING.
STL explains #pragma detect_mismatch as a defense against ODR violations (One Definition Rule).
As an extra treat, you will learn about the undocumented compiler option /d1reportSingleClassLayout for looking at data structure representations. Well, now it's "documented" Thank you, STL!
Part 1 (shared_ptr - type erasure)
Part 2 (equal()/copy() - algorithm optimizations)
Part 3 (_ITERATOR_DEBUG_LEVEL, #pragma detect_mismatch, and /d1reportSingleClassLayout)
Part 4 (rvalue references v2.1 and associative container mischief)