This seminar is designed for practicing C++ programmers, but the material it covers is also important for system architects, library designers, team leads, and technical managers for C++ systems that will or may take advantage of the STL.
This seminar is a hard-core, hands-on, in-the-trenches indoctrination in the ways of the STL.
In a combination of lectures and labs, this course brings out the underlying design of the STL, demonstrates how to take advantage of the library's strengths, and shows how to avoid its weaknesses. The purpose of this seminar is to master effective use of the STL, not to cover every aspect of the library.
Previous exposure to the STL is not necessary, but you should be familiar with templates and operator overloading in C++.
- The fundamental design of the library: containers, algorithms, iterators, and function objects
- The data models underlying STL containers, including standard containers (e.g., vector, list, set, map, etc.)
- Strings, streams, and common non-standard containers (hash tables and singly-linked lists)
- Subtle differences in semantics of member and non-member functions with the same name, e.g., find, remove, etc
- Integrating STL containers with code expecting C-like data structures
- Maximizing efficiency when using the STL
- Causes of likely errors when using the STL
- Making effective use of the STL with compilers and libraries that fall short of the standard
Share with others