C++ Team Blog
The latest in C++, Visual Studio, VS Code, and vcpkg from the MSFT C++ team
Latest posts
Visual C++ 2015 and 2017 Migration Documentation Update
Upgrading to the latest C++ compiler and toolset is sometimes not so easy and can be time consuming. You are likely to encounter some compiler and linker errors and warnings in code that previously compiled cleanly. There are several possible sources for these errors, including improvements in the compiler, and changes in the C++ language, Standard Library, C runtime (CRT), and other libraries such as MFC and ATL. We know by your feedback that having good documentation is a key part of this process. That's why we have been updating the migration documentation to include lessons learned by working with our custom...
Microsoft at CppCon 2016
*** Update 10/5/2016: Videos are beginning to appear on the CppCon YouTube Channel. Keep revisiting to see what has been added. The Microsoft Visual C++ team is at CppCon 2016 this week, September 18 - 23 in Bellevue, WA. CppCon is the annual, week-long face-to-face gathering for the entire C++ community. The conference is organized by the C++ community for the community. It features sessions, lightning rounds, and hundreds of smart developers ready to chat C++. We have a booth Tuesday and Wednesday with members of the team planning to be available for your questions: Gabriel Dos Reis, STL, Herb Sutter, Casey ...
Vcpkg: a tool to acquire and build C++ open source libraries on Windows
Visual C++ for Linux 1.0.5 Updates
The Visual C++ for Linux announcement post has been updated with the content below. If you are already familiar with this extension this post covers what is new since our last update. We recently posted new bits for our 1.0.5 release of the Visual C++ for Linux extension for Visual Studio 2015. This release has some major performance improvements that feature incremental copy and build, and considerably reducing the number of connections to the remote Linux machine. We’ve also made significant improvements in IntelliSense since our last post here. Makefile Project Template A Makefile project templa...
August Update for the Visual Studio Code C/C++ extension
At //Build this year we launched the C/C++ extension for Visual Studio Code. Keeping with the monthly release cadence and goal to continuously respond to your feedback, this August update introduces the following features: • Debug your Windows applications using Visual Studio Code • Improve your code-formatting experience with clang-format • Improvements to auto-complete If you haven’t already provided us feedback, please take this quick survey to help shape this extension for your needs. The original blog post has already been updated with these new feature additions. Let’s learn more about each one of them no...
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 fixes in VS 2015 Update 3 (including optimizer improvements for std::abs(), std::min(), std::max(), and std::pow(), which we forgot to mention) are also available in VS "15" Preview 4. Additionally, we have something new to announce. Previously, new major IDE versions contained new major compiler versions and binar...
Range-v3 on MSVC is Available on GitHub
We are delighted to announce that the Visual C++ Team just published an implementation of range-v3 on the Microsoft GitHub repo. This contribution comes hot on the heels of our recent work to improve expression SFINAE on our Visual Studio 2015 Update 3 VC++ compiler . This is the first implementation of the Range TS running in MSVC. In “Ranges for the Standard Library, Revision 1” (N4128) Ranges are defined like this: “A range is an object that refers to a sequence of elements, conceptually similar to a pair of iterators. One prime motivation for ranges is to give users a simpler syntax for calling algorithms. R...
The Lightweight Visual Studio 2017 Installer
⏱This post was updated on 3/7/2017 for the Visual Studio 2017 release. As many of you may have already seen, we have introduced a streamlined Visual Studio Installer for Visual Studio 2017 to give you more control of what you install. What began as the separation of the C++ tools for Visual Studio 2015 has now become a workload-based installation experience where you can select the tools you need and nothing more. We have now provided the ability to install only the exact tools you need for your code. Don’t need C#/VB or Blend? Now you do not need to install it! This will help to greatly reduce installa...
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", and P0272R1 "Non-const basic_string::data()". /std:c++latest also controls the removal of the following old features: N4190 "Removing auto_ptr, random_shuffle(), And Old <functional> Stuff", P0004R1 "Removing Deprecated Iostreams Aliases", LWG 2385 ...