How to Use Class Template Argument Deduction

Class Template Argument Deduction (CTAD) is a C++17 Core Language feature that reduces code verbosity. C++17’s Standard Library also supports CTAD, so after upgrading your toolset, you can take advantage of this new feature when using STL types like std::pair and std::vector. Class templates in other libraries and your own code will partially benefit from… Read more

C++17 Progress in VS 2017 15.5 and 15.6

VS 2017 15.5 is now available for production use, and 15.6 Preview 1 is also available. As usual, here are feature tables for the STL and compiler, plus a detailed list of STL improvements. (You can also read our previous changelog for VS 2017 15.3.) Please note that due to our branch structure and merge… Read more

C++17 Feature Removals And Deprecations

Technology advances by inventing new ways of doing things and by discarding old ways. The C++ Standardization Committee is simultaneously adding new features and removing old features at a gradual pace, because we’ve discovered thoroughly better ways of writing code. While feature removals can be annoying, in the sense that programmers need to go change… Read more

C++17 Features And STL Fixes In VS 2017 15.3

Visual Studio 2017’s first toolset update, version 15.3, is currently in preview and will be released in its final form very soon. (The toolset consists of the compiler, linker, and libraries. After VS 2017 RTM, the 15.1 and 15.2 updates improved the IDE. The 15.3 update improves both the IDE and the toolset. In general,… Read more

C++17 Features In Visual Studio 2017 Version 15.3 Preview

Visual Studio 2017 version 15.3 preview is now available, containing an updated Visual C++ toolset (i.e. compiler, linker, and libraries). Like VS 2015’s Updates, we’re adding C++17 features in VS 2017’s Updates, at a similar release frequency. Unlike VS 2015’s Updates (which combined IDE and toolset changes), VS 2017’s IDE is being updated more frequently (with… Read more

STL Fixes In VS 2017 RTM

VS 2017 RTM will be released soon. VS 2017 RC is available now and contains all of the changes described here – please try it out and send feedback through the IDE’s Help > Send Feedback > Report A Problem (or Provide A Suggestion). This is the third and final post for what’s changed in… Read more

C++14/17 Features and STL Fixes in VS “15” Preview 5

Visual Studio “15” Preview 5 is now available.  (As our previous changelog explained, VS “15” is an IDE version number, not a year.  It’s the next major version after VS 2015, which was IDE version 14.  VS has different numbers for its year branding, IDE version, and C++ compiler version.)   Preview 5 adds support… Read more

C++14/17 Features and STL Fixes in VS “15” Preview 4

Visual Studio “15” Preview 4 is now available, with a new installer.  (VS “15” is an IDE version number, not a year.  It’s the next major version after VS 2015, which was IDE version 14.  VS has different numbers for its year branding, IDE version, and C++ compiler version.)   All of the features and… Read more

STL Fixes In VS 2015 Update 3

VS 2015 Update 3 was released over a month ago.  While its release notes mentioned some STL fixes, here’s a comprehensive list.   (Previous changelogs: RTM Part 1, RTM Part 2, Update 1, Update 2 features, and Update 2 fixes.)   STL Features   /std:c++latest enables the following new features: P0025R1 “clamp()”, P0185R1 “is_swappable, is_nothrow_swappable”,… Read more

STL Fixes In VS 2015 Update 2

In addition to 10 new features (and 16 Library Issue resolutions), the STL in VS 2015 Update 2 contains numerous improvements for correctness and performance. (Previous bugfix changelogs: RTM Part 1, RTM Part 2, and Update 1. We also have a list of compiler and IDE fixes in Update 2.) These STL fixes were implemented… Read more