Channel 9 Archives | C++ Team Blog

Part 8 of my third video lecture series (covering the C++ Core Language) is now available. In this part, I covered several topics: why I avoid do-while loops, how C and C++ casts behave and why they’re dangerous,

Part 2 of my third video lecture series (covering the C++ Core Language) is now available. In this part, I took an hour to explore template argument deduction, including what “non-deduced contexts” are – and how they can be used to your advantage!

This time we follow up from a recent article that my colleague and friend Sumit Kumar (Program Manager in the Visual C++ team) wrote last week about new IDE features and enhancements that we plan to ship in the next version.

In Part 6 of my second video lecture series focused on the Standard Template Library, I demonstrate how to write a “pretty printer” for STL containers that’s capable of formatting a vector<tuple<int, string, int>> as [(1, “ten”, 100),

Hi, I’m Charles Torre, Sr. Technographer with Channel 9. I’m back with an interview made last week with Herb Sutter, Principal Architect on the Visual C++ team at Microsoft and chairman of the ISO committee which recently approved the final technical changes to the C++0x standard –

In Part 3 of my video lecture series exploring the Standard Template Library’s implementation, I explain how our powerful correctness checks in debug mode work. In VC10, they’re controlled by the macro _ITERATOR_DEBUG_LEVEL, which supersedes VC8 and VC9’s more confusing _SECURE_SCL and _HAS_ITERATOR_DEBUGGING macros.

Part 2 of my video lecture series exploring the Standard Template Library’s implementation is now available. In this part, I walk through how our STL algorithms equal() and copy() use template metaprogramming to detect when it’s safe to call memcmp() and memmove(),

Part 1 of my video lecture series exploring the Standard Template Library’s implementation is now available. In this part, I explain how some of shared_ptr’s magic works, including type erasure and make_shared<T>()’s optimizations that save both space and time.