C++ Team Blog

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

MSVC C++20 and the /std:c++20 Switch
MSVC C++20 and the /std:c++20 Switch
We are excited to announce that in Visual Studio 2019 version 16.11, we have added the /std:c++20 switch to the set of language mode switches available. The addition of this switch indicates that we’ve reached a point of sufficient stabilization of the MSVC C++20 feature set for it be used in production, with full support in VS servicing ...
C++20 Coroutine Improvements in Visual Studio 2019 version 16.11
C++20 Coroutine Improvements in Visual Studio 2019 version 16.11
This post includes contributions from Terry Mahaffey and Ramkumar Ramesh. We last blogged about coroutine support in Visual Studio 2019 version 16.8. In the releases since 16.8 we've introduced several new coroutine features and improvements. This post is a round up of those improvements, all available in Visual Studio 2019 16.11. ...
ARM64EC Support in Visual Studio
ARM64EC Support in Visual Studio
ARM64EC (“Emulation Compatible”) is a new application binary interface for building apps for Windows 11 on ARM. With ARM64EC, you can build new native apps that can run on ARM or incrementally transition existing x64 apps to native performance on ARM. With Visual Studio, you can start building your projects as ARM64EC and enjoy the benefits.
Moving a project to C++ named Modules
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, ...