C++ News

8/3/2020, MS Dev Blogs
At the Microsoft Build conference, you may have seen our C++ Codespaces demo (at 26:00). We showed several ways Codespaces can improve your C++ development experience, including offloading your...
7/24/2020,
  #JulyOT This is part of the #JulyOT IoT Tech Community series, a collection of blog posts, hands-on-labs, and videos designed to demonstrate and teach developers how to build projects with...
7/24/2020, MS Dev Blogs
I noted in a footnote that it's important to use RAII types for all of your cleanup in a coroutine because cancellation will cause the coroutine to abruptly stop executing at the next suspension...
7/23/2020, MS Dev Blogs
We saw last time that you can hasten the cancellation of your C++/WinRT coroutine by polling for cancellation. But that works only if it's the top-level coroutine that needs to respond to the...
7/14/2020, MS Dev Blogs
Last time, we put together a little traits class to decompose a function pointer into its components. But one thing missing from our class is the noexcept qualifier. For the remainder of the...
7/13/2020, MS Dev Blogs
I always forget how to deconstruct a function pointer type in a C++ template, so I'm writing it down. We start by saying that FunctionTraits is a template class that takes a single type...
7/10/2020, MS Dev Blogs
Some time ago, we observed that C++/WinRT relies on the ABI result from the Get­Results() method to report cancellation. This is different from how task cancellation is projected in C# and...
7/3/2020, MS Dev Blogs
Last time, we looked at how task cancellation is projected in C++/CX with PPL and explicit continuations. But how about C++/CX with PPL and coroutines? Notice that coroutines save us a lot of...
7/2/2020, MS Dev Blogs
We began our investigation of Windows Runtime cancellation with how task cancellation is projected in C#. But how about C++/CX with PPL and explicit continuations? Okay, let's do this. Setting...
7/2/2020, MS Dev Blogs
What's New We've been busy implementing C++20 features in MSVC's compiler and Standard Library, and migrating the latter to microsoft/STL on GitHub - in fact, we've been so busy that we haven't...
5/29/2020, MS Dev Blogs
C++11 introduced variadic templates and template parameter packs. Passing template parameter packs around is a bit of a hassle, because the dots "soak up" parameters, which make them hard to...
5/28/2020, MS Dev Blogs
The use of templates in C++ programs can sometimes lead to longer builds. C++ Build Insights puts tools at your disposal for analyzing template usage patterns and their associated impact on build...
4/22/2020, MS Dev Blogs
C++ Build Insights offers more than one way to investigate your C++ build times. In this article, we discuss two methods that you can use to identify bottlenecks in your builds: manually by using...
Last time, we looked at how we could build a delegate which, when invoked from a background thread, synchronously does work on a UI thread, but making the background thr
Warning to those who stumbled onto this page: Don't use the code on this page without reading all the way to the end. This week, we assembled a function resume_synchrono
In Visual Studio 2019 version 16.5 we have continued to improve the C++ backend with new features, new and improved optimizations, build throughput improvements, and bett
We've been looking at one specific case of a non-agile delegate, namely a delegate that is invoked on a background thread and wants to execute synchronously on a UI threa
The post Creating a non-agile delegate in C++/WinRT, part 2: The synchronous coroutine appeared first on Microsoft Developer Blogs.
The post Creating a non-agile delegate in C++/WinRT, part 1: Initial plunge appeared first on Microsoft Developer Blogs.
In Visual Studio 2019 version 16.6 Preview 2, we're excited to announce a new preview feature to help C++ developers identify and fix code defects as they write code. Th