Product News

PVS-Studio 6.21 release: support for CWE (Common Weakness Enumeration) was added

PVS-Studio is a tool for bug detection in the source code of programs, written in C, C++, and C#. It works in Windows and Linux environment.

PVS-Studio 6.21 Release

by PVS-Studio Team

What's new:

  • Support for CWE (Common Weakness Enumeration) was added to C/C++/C# analyzers.
  • HTML log with source code navigation can now be saved from Visual Studio plug-ins and the Standalone tool.
  • WDK (Windows Driver Kit) projects for Visual Studio 2017 are now supported.
  • PVS-Studio plug-in for SonarQube was updated for the latest LTS version 6.7.
  • V1007. The value from the uninitialized optional is used. Probably it is a mistake.

Boost 1.66 is out!

New version of boost!

Boost 1.66 is out!

From the article:

New Libraries

  • Beast: Portable HTTP, WebSocket, and network operations using only C++11 and Boost.Asio, from Vinnie Falco.
  • CallableTraits: A spiritual successor to Boost.FunctionTypes, Boost.CallableTraits is a header-only C++11 library for the compile-time inspection and manipulation of all 'callable' types. Additional support for C++17 features, from Barrett Adair.
  • Mp11: A C++11 metaprogramming library, from Peter Dimov.

...

C++17 - The Complete Guide -- Nicolai M. Josuttis

The first draft of "C++17 - The Complete Guide" is now available at

C++17 - The Complete Guide

by Nicolai M. Josuttis

About the guide:

Buy early, pay less, free updates.

This book uses a new publishing model: It is written incrementally and self-published. That way you can buy it even before it is complete and I have income while I am still writing it (note that I do C++ for a living).

Most of the new features are covered already in detail:

  • All major new core language features
  • The new library components (filesystem only by a few examples)

But there is still enough to do (see http://www.cppstd17.com/ for details).

All covered features went through significant review with awesome feedback and already have a lot of useful details including how they integrate with other features and discussing all the traps you should avoid.

C++17 Feature Removals And Deprecations--Stephan T. Lavavej

This is about visual studio, but this is also about how the deprecated mechanisms work.

C++17 Feature Removals And Deprecations

by Stephan T. Lavavej

From the article:

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 old codebases in order to make them conform to new Standards, they’re also important. Feature removals simplify the Core Language and Standard Library, avoiding the doom of accreting complexity forever. Additionally, removing old features makes it easier to read and write code. C++ will always be a language that offers programmers many ways to write something, but by taking away inferior techniques, it’s easier to choose one of the remaining techniques which are more modern...

MSVC code optimizer improvements in Visual Studio 2017 versions 15.5 and 15.3--Gratian Lup

An update on the significant progress the Visual C++ code optimizer made in the past year, focused mostly on the features released in the 15.3 and 15.5 versions:

MSVC code optimizer improvements in Visual Studio 2017 versions 15.5 and 15.3

by Gratian Lup

From the article:

Compared to VS2015 Update 3, VS2017 15.5 provides on average an 8.9% increase in runtime speed in the SPEC 2017 benchmark..

CLion 2017.3 released with C++ support improvements, Valgrind Memcheck...--Anastasia Kazakova

A new version is here!

CLion 2017.3 released with C++ support improvements, Valgrind Memcheck, Boost.Test and much more

by Anastasia Kazakova

From the article:

This year’s third release of CLion managed to accomplish both missions – bring dozens of C++ language support fixes, and overhaul and integrate new tools like Boost.Test and Valgrind Memcheck. Besides, v2017.3 updates a number of bundled tools, provides a simpler and more flexible way to configure toolchains, and improves the UI for running/debugging your applications...

Jupyter + Cling: Interactive C++

Jupyter Notebook is the #1 canvas for data science, and it now leverages CERN's Cling interpreter to support C++:

Interactive Workflows for C++ with Jupyter

by Sylvain Corlay, Loic Gouarin, Johan Mabille, and Wolf Vollprecht

A few highlights from the article:

... just write some code and hit Shift+Enter

... live quick-help, fetching the content on cppreference.com

... visual output can also be displayed using the rich display mechanism of the Jupyter protocol

... the combination of xtensor with the C++ notebook provides an experience very similar to that of NumPy in a Python notebook

... If you are interested in trying the various notebooks presented in this post, there is no need to install anything. You can just use binder

... In September 2017, the 350 first-year students at Paris-Sud University who took the “Info 111: Introduction to Computer Science” class wrote their first lines of C++ in a Jupyter notebook