C++ Team Blog
The latest in C++, Visual Studio, VS Code, and vcpkg from the MSFT C++ team
Latest posts
Video Introduction to the STL, Part 5
In the fifth part of my video lecture series introducing the Standard Template Library, I explain how the advanced analysis in my Nurikabe solver works. One of its steps involves using a breadth-first search to detect any unreachable cells. Mandatory prerequisites of Part 5 are reading Wikipedia's Nurikabe page and watching Part 4 (the introduction to my Nurikabe solver). It also assumes that you've watched Part 1 (sequence containers), Part 2 (associative containers), and Part 3 (smart pointers), or that you're already familiar with those topics. I highly encourage you to read this extended...
Video Introduction to the STL, Part 4
In the fourth part of my video lecture series introducing the Standard Template Library, I walk through an extended example of using the STL to solve Nurikabe puzzles. It assumes that you've read Wikipedia's Nurikabe page, and that you've watched Part 1 (sequence containers), Part 2 (associative containers), and Part 3 (smart pointers), or that you're already familiar with those topics. My original source code and output are available. I've been working on improving them, and I'm up to version 1.2. In Part 5 (which was filmed back-to-back; it's in the editing pipeline), I'll explain how I im...
Hilo Update – Introducing “Hilo Annotator”
In May this year, we announced Project Hilo and promised a set of cool sample applications written in C++. At that time we had released the first application in the Hilo series. Since then we have published some articles that walk the reader through all the steps that go into developing the Hilo Browser application (Chapter 1 thru 8 on this link). These articles describe the way we implemented the application in C++, our thought process for designing the application, as well as deep discussions on the source code and implementation using C++ and the modern application features in Windows 7. Now we are back with...
Video Introduction to the STL, Part 3
The third part of my video lecture series introducing the Standard Template Library is now available, following Part 1 and Part 2. Part 3 covers unique_ptr, shared_ptr, and exception handling (briefly). It explains my solution to the container erasure problem, and presents a significantly larger homework problem: writing a Nurikabe solver. In Part 4, the pieces that we've seen (sequence containers, associative containers, and smart pointers) will fall into place, and I'll walk through how my Nurikabe program works. Stephan T. LavavejVisual C++ Libraries Developer
The Filterator
My name is Ahmed Charles and I currently work on Windows Error Reporting. I believe that this is the first time that someone not on the VC team has written a blog, but I hope you will find it useful anyways. I’d like to thank Stephan T. Lavavej for the idea and valuable feedback while writing it. And we both owe the idea for the iterator to Boost. A common question from programmers who have an intermediate amount of experience with using the STL is, "How do I write an STL iterator?". Writing an STL iterator is not especially difficult – it just requires some care. ST...
Video Introduction to the STL, Part 2
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. LavavejVisual C++ Libraries Developer
How we test the compiler performance
The C++ back-end team is very conscious of the performance of our product. Today I will present to you an overview of how we define “performance of our product” and the way we measure it. Along the way I hope to introduce you to some new ideas that you can use to test your product’s performance as well. You can read Alex Thaman’s blog post on “How we test the compiler backend” for some background on compiler testing. Additionally, you can read Asmaa Taha’s blog post on VCBench, our performance test automation system. Questions before answersSome of ...
Video Introduction to the STL, Part 1
I recently recorded the first part of a video lecture series introducing the Standard Template Library. It assumes familiarity with C++, but begins with the STL basically from scratch. Channel 9 hooked up my laptop so I could write, compile, and execute code as I went along. Check it out here: https://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Introduction-to-STL-with-Stephan-T-Lavavej/I'll be recording more parts of this series with Channel 9 in the near future, responding to your comments along the way.Stephan T. LavavejVisual C++ Libraries Developer
C++ debugging survey
The Visual Studio Debugger Team is currently planning features for the next release of Visual Studio. We would like to hear from our C++ developers to make sure that their needs are understood. Please take a couple of minutes to complete the very short survey below. The survey is totally anonymous and the data that you provide will help us build a better product for you.http://www.surveymonkey.com/s/cppdebuggingThanks,Brad SullivanVisual Studio Debugger Team