STL Introductory Series on Channel 9

Stephan concluded his introductory series on the STL with an interesting chapter on template metaprogramming and type traits.

In addition to previous lessons, here is a complete list of this ten part series introducing the STL:

Part 1 is about sequence containers (like std::vector).

Part 2 is on associative containers (like std::map).

Part 3 discusses smart pointers (e.g. shared_ptr).

Parts 4 and 5 show a practical use of the aforementioned concepts applied to the development of a Nurikabe puzzle solver.

Part 6 and part 7 discuss STL algorithms.

Part 8 is about regular expressions.

In part 9 new C++0x core language features like r-value references and move semantics are discussed.

And finally part 10 is about template metaprogramming and type traits.

Thank you Stephan and Channel 9 for this quality introduction to the STL!


Web Resources on Windows Programming in C++

I’d like to point out some interesting links to resources on Windows programming in C++.

Learn to Program for Windows in C++” is a series published on MSDN, aimed at teaching how to write a Windows program in C++, assuming a good working knowledge of C++ programming, but no previous experience in Windows programming. Things like Windows typical terminology, window classes, window procedure, window messages, using COM,  Windows graphics architecture, handling user input, etc. are explained.

Specific resources about Windows 7 Taskbar programming can be found here.

Another interesting series on Windows C++ programming is Hilo. Several topics are discussed, ranging from Direct2D, to animation manager, to Windows Ribbon, Windows Imaging component, Windows 7 Web Services API, etc.

And, last but not least, Kenny Kerr (author of Window Clippings) is offering a series about C++ programming for Windows on his blog.

Relax. Enjoy. Learn.

Shell Extensions Tutorials

EDIT: Check out my Context Menu Shell Extension Pluralsight course!

Writing shell extensions is one of those programming tasks in which C++ (with the help of a library like ATL) excels.

(A Microsoft guy explained here why it is better to avoid .NET for writing shell extensions.)

Michael Dunn (a former Visual C++ MVP) wrote a very interesting series of tutorials on CodeProject on developing shell extensions:

1. A step-by-step tutorial on writing shell extensions.
2. A tutorial on writing a shell extension that operates on multiple files at once.
3. A tutorial on writing a shell extension that shows pop-up info for files.
4. A tutorial on writing a shell extension that provides custom drag and drop functionality.
5. A tutorial on writing a shell extension that adds pages to the properties dialog of files.
6. A tutorial on writing a shell extension that can be used on the Send To menu.
7. A tutorial on using owner-drawn menus in a context menu shell extensions, and on making a context menu extension that responds to a right-click in a directory background.
8. A tutorial on adding columns to Explorer’s details view via a column handler shell extension.
9. A tutorial on writing an extension to customize the icons displayed for a file type.