The second part of my video lecture series introducing the Standard Template Library is now available. This part covers the STL's associative containers and the erase-remove idiom. It assumes that you've watched Part 1.
More parts are on their way! Let me know in the comments what you'd like to see.
Stephan T. Lavavej
Visual C++ Libraries Developer
Grate work! I'm a Java developer but I wanted to re-learn C++ and Your STL videos are a grate spin off in the subject of the standard template library. As for the future materials, give me everything You got ;)
VC++ IDE is very good. I personally miss one feature. Netbeans and Eclipse has refator feature where setter and getter methods are automatically generated . Can we have such feature?
These are really great classes on the STL! Finally the different pieces of the STL fall into place! Although currently I am developing for the iPhone I benefit from my knowledge of the STL in Objective-C++. It is just that I need Boost to get the C++0X extensions.
In a later part perhaps you could give some practical advice on std::streams? E.g. I always struggled to get wide character file streams working. And is it advisable to use some tcp::stream for HTTP (or similar TCP/IP protocol) connections? I once did this, but I always fear the short lifetime of third-party non-standard libraries.
> In a later part perhaps you could give some practical advice on std::streams?
iostreams are part of the C++ Standard Library, but not "the STL proper", i.e. the subset of the C++ Standard Library that was derived from Stepanov's work. As a result, iostreams are a separate topic.
> E.g. I always struggled to get wide character file streams working.
Unfortunately, i18n involves many headaches, some of which (but not all) are iostreams' fault. For an example of an issue that isn't iostreams' fault, until recently printing Unicode to the console (via <stdio.h> or iostreams) was believed to be impossible or incredibly flaky through a series of disgusting hacks (e.g. involving console codepages). Then, while improving the Unicode support in our C Standard Library implementation, I rediscovered that the ability to print Unicode to the console was actually implemented in VC8 (VS 2005), except that it wasn't enabled by default, and the implementers never told anyone else the series of incantations to enable it. Not even Michael Kaplan, Microsoft's Unicode expert, knew about it.
As for an example of an issue that is iostreams' fault, anything involving locales, facets, and code conversions is utterly incomprehensible. There are a couple of dozen people on the planet who understand that stuff (including P.J. Plauger of Dinkumware, the author of our Standard Library implementation), but I'm not one of them - despite the fact that I live and breathe other C++ arcana all day long.
> And is it advisable to use some tcp::stream for HTTP (or similar TCP/IP protocol) connections?
I haven't used it myself yet, but I saw Boost.Asio at BoostCon 2010 and was enormously impressed. (Asio stands for Asynchronous I/O, documentation at www.boost.org/.../boost_asio.html )
Stephan T. Lavavej, Visual C++ Libraries Developer