C++ Team Blog

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

Conditionally Trivial Special Member Functions
Conditionally Trivial Special Member Functions
The C++ standards committee is currently focusing on adding features to the language which can simplify code. One small example of this in C++20 is conditionally trivial special member functions, which we added support for in Visual Studio 2019 version 16.8. Its benefit isn’t immediately obvious unless you’ve been deep down the rabbit hole...
C++20 Features in Visual Studio 2019 versions 16.7 and 16.8
C++20 Features in Visual Studio 2019 versions 16.7 and 16.8
What’s New We have continued our efforts to implement C++20 in the MSVC toolset, with noteworthy progress being made in VS (Visual Studio) 2019 v16.7 and VS 2019 v16.8. This blog post lists the features implemented since the C++20 Features and Fixes in VS 2019 16.1 through 16.6 blog post. This blog post will specifically focus on...
A Tour of C++ Modules in Visual Studio
A Tour of C++ Modules in Visual Studio
C++ module support has arrived in Visual Studio! Grab the latest Visual Studio Preview if you want to try it out. C++ modules can help you compartmentalize your code, speed up build times, and they work seamlessly, side-by-side with your existing code. This preview only supports C++ modules in the IDE for MSBuild projects. While the MSVC ...
Even More New Safety Rules in C++ Code Analysis
Even More New Safety Rules in C++ Code Analysis
In Visual Studio version 16.8 Preview 3,  we have added a few safety rules to C++ Code Analysis that can find some common mistakes, which can lead to bugs ranging from simple broken features to costly security vulnerabilities. These new rules are developed around issues discovered in production software via ...
Typelib and ActiveX now supported in MFC Wizards 
Typelib and ActiveX now supported in MFC Wizards 
We are happy to announce that the Typelib and ActiveX Wizards are now available in Visual Studio 2019.   We’ve been working on rewriting all the wizards in Visual Studio to make them more accessible. These two wizards were not initially part of our rewriting plans and they were marked as deprecated in Visual Studio 2017 and ...
C++20 STL Features: 1 Year of Development on GitHub
C++20 STL Features: 1 Year of Development on GitHub
My CppCon 2020 talk, “C++20 STL Features: 1 Year of Development on GitHub”, is now available on YouTube. The slides are available on GitHub as PDF and original PPTX. The talk contains complete examples (not snippets!) of several C++20 features: integer comparison functions, constexpr algorithms, uniform container erasure, atomic_ref, ...
Introducing the new Azure SDK for C++ Beta
Introducing the new Azure SDK for C++ Beta
The Azure SDK team is pleased to announce their first beta release of the new Azure SDK for C++. Unlike the previous Azure Storage specific SDK, the new Azure SDK for C++ is idiomatic to the C++ language and ensures consistency in behavior and API surface when communicating with multiple Azure services. This initial beta supports Azure Blob ...
Faster C++ builds, simplified: a new metric for time
Faster C++ builds, simplified: a new metric for time
C++ Build Insights is a collection of tools and APIs that can help you gain a deeper understanding of your build times. Today, we’d like to teach you about a special metric offered in this toolkit: the wall clock time responsibility (WCTR). It can be used to estimate how much time is really spent by each activity in your build, even in the ...
Build and debug Qt projects on Linux with Qt Visual Studio Tools
Build and debug Qt projects on Linux with Qt Visual Studio Tools
Qt is a popular cross-platform framework for application development and user interface design. Its various libraries and toolsets can be used to create, test, and deploy applications that target multiple platforms and operating systems including Linux, Windows, macOS and embedded/microcontroller systems. Qt recently released a new version of...