I’ve spent many hours reading articles on Raymond Chen’s blog, The Old New Thing. It is one of the most popular blogs on MSDN with content ranging from concerts at the Seattle Symphony to Win32 and marriage and native programming. Included are a number of interesting articles with, on or about C++.
Here is a small, curated selection:
- C++ corner case: You can implement pure virtual functions in the base class. “In [another] article, I wrote that a pure virtual function is ‘a method which is declared by the base class, but for which no implementation is provided.’ That statement is false. You can provide an implementation for a pure virtual method in C++. “
- How can I make a callback function a member of my C++ class? “Instead of a Little Program today, I’m going to answer a Little Question. This is a common beginner question, but I figure I’ll just spell it out right here for posterity.”
- Dark corners of C/C++: The typedef keyword doesn’t need to be the first word on the line. I love this comment: “I think I’m at that point in learning C++ where everything I find out about what it can do (other than the new standards of course) is something horrible.”
- Decoding the parameters of a thrown C++ exception (0xE06D7363) is a preview of a Tech Ready chalk talk (which is not available online). “The Visual C++ compiler uses exception code 0xE06D7363 for C++ exceptions. Here’s how you can decode the other parameters. (Handy if you’re debugging a crash dump.)”
- A rant against flow control macros. “No two people use the same macros, and when you see code that uses them you have to go dig through header files to figure out what they do.”
- If the shell is written in C++, why not just export its base classes? Who says it is written in C?
- *BONUS* What was the role of MS-DOS in Windows 95? Written back in 2007 and apparently attracting Slashdotters, this article answers the question without going into too many nitpicky details. “Remember, what I write here may not be 100% true, but it is ‘true enough.’ (In other words, it gets the point across without getting bogged down in nitpicky details.)”
The comments are often as entertaining (and informative) as the article, so don’t forget to scroll down and read them.