C9 Lectures: Stephan T. Lavavej - Standard Template Library (STL), 4 of n
- Posted: Sep 07, 2010 at 1:16PM
- 82,675 views
- 33 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…”
Welcome to another installment of C9 Lectures covering the powerful general C++ library, STL. Joining us once again is the great Stephan T. Lavavej, Microsoft's keeper of the STL cloth (this means he manages the partnership between the owners of STL (dinkumware) and Microsoft, including, of course, bug fixes and enhancements to the STL that ships as part of Visual C++). Simply, Stephan is a C++ library developer.
As is Stephan's nature, he elaborates on technical details in very substantive way. The Standard Template Library, orSTL, is a C++ library of container classes, algorithms, and iterators. STL provides many fundamental algorithms and data structures. Furthermore, the STL is a general-purpose library: its components are heavily parameterized, such that almost every component in the STL is a template.
In part 4, Stephan explains his solution to writing a solver for the Nurikabe puzzle using the STL (of course...). You will be introduced to some new concepts as well as use some of the things you have already learned.
Get the output and source code (v1) for Stephan's Nurikabe solver.
Get the optimized output and source code(v1.2) for Stephan's Nurikabe solver. 1.2 adds new test cases, improves the output, and significantly speeds up certain test cases. 1.2 is a better foundation for the performance exploration that Stephan suggested for the homework assignment. You're doing your homework, right?
Books mentioned by Stephen:
[STL Introduction lecture links]
Part 1 (sequence containers)
Part 2 (associative containers)
Part 3 (smart pointers)
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)