C++ Team Blog

C++ tutorials, C and C++ news, and information about Visual Studio, Visual Studio Code, and Vcpkg from the Microsoft C++ team.

How we used C++20 to eliminate an entire class of runtime bugs

C++20 is here and has been supported in MSVC since 16.11, but today's post is not about how you can use it, but rather how we used it to effectively eliminate an entire class of runtime bugs by hoisting a check into compile-time. Let's get right into it! Humble beginnings In compiler design one of the very first things you need is a way to ...

Moving a project to C++ named Modules

There is a lot of hype (and perhaps restraint) to using modules in projects. The general blocker tends to be build support, but even with good build support there is a distinct lack of useful resources for practices around moving projects to using named modules (not just header units). In this blog we will take a small project I created, ...

Introducing source dependency reporting with MSVC in Visual Studio 2019 version 16.7

C++20 demands a lot more from the ecosystem than ever before. With C++20 Modules on the horizon the compiler needs to work closely with project systems in order to provide rich information for build dependency gathering and making iterative builds faster for inner-loop development. The compiler and project teams have acknowledged the new ...