C++ Team Blog

The latest in C++, Visual Studio, VS Code, and vcpkg from the MSFT C++ team

AddressSanitizer continue_on_error

Visual Studio 17.6 comes with new functionality in the Address Sanitizer runtime which provides a new โ€œchecked buildโ€ for C and C++. This new runtime mode diagnoses and reports hidden memory safety errors, with zero false positives, as your app runs. Introduction C++ memory safety errors are a top concern for the industry. In Visual ...

New Static Analysis Rule for Bounds Checking

We have added a new experimental static analysis rule in Visual Studio 16.10 version Preview 3 - C26458, . The new warning is a more precise and less noisy version of warning C26446, . Both warnings analyse standard containers for unchecked element access and they both share the warning message: โ€œPrefer to use instead of unchecked subscript...

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โ€ฏ...

New Safety Rules in C++ Code Analysis

Inย Visual Studio version 16.8 Preview 3,ย  weย areย addingย 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ย security reviews and...

GSL 3.0.0 Release

Update June 4th, 2020 - GSL version 3.1.0 has been released. Please see the latest release page for information regarding GSL 3.1.0. For all future updates, please see refer to the release page on GitHub.   GSL 3.0.0 Release Version 3.0.0 of Microsoft's implementation of the C++ Core Guidelines Support Library (GSL) is now available...

Improved C++ IntelliCode now Ships with Visual Studio 2019

IntelliCode support for C++ previously shipped as an extension, but it is now an in-box component that installs with the โ€œDesktop Development with C++โ€ workload in Visual Studio 2019 16.1 Preview 2. Make sure that IntelliCode is active for C++ by enabling the โ€œC++ base modelโ€ under Tools > Options > IntelliCode > General:ย (...

std::optional: How, when, and why

This post is part of a regular series of posts where the C++ product team here at Microsoft and other guests answer questions we have received from customers. The questions can be about anything C++ related: MSVC toolset, the standard language and library, the C++ standards committee, isocpp.org, CppCon, etc. Todayโ€™s post is by Casey Carter...