New Features of C++17

C++17 is the latest version of standard C++ language. C++11 and C++14 are the previous versions of C++. The current version makes several additions to the core language while some previous features are also removed. C++17 is known as feature full or feature complete.

There are some of the new changes introduced in C++17 −

Library changes - utils

This is one of the most amazing feature of C++17. It merges the features and patterns of other libraries. Many of the sub-libraries are merged together into standards.

The following features are added to utils library in C++17 −

  • std::variant
  • std::search
  • std::string_view
  • std::optional
  • std::any

Library changes - Filesystem

The previous standard libraries lacked some key features. C++ committee boosted up the libraries and merged many systems into standard.

The following features are added to Filesystem in C++17 −

  • Working with path object
  • Compiler/ Library support
  • Traversing a path

Library Changes - Parallel Algorithm

It appends some new features to previous features of C++11 and C++ 17. It unlocked the auto parallelization or auto vectorization feature for standard library.

The following features are added to Parallel algorithms in C++17 −

  • Algorithm update
  • Execution polices
  • New algorithms


C++17 has added three new attributes, such as [[maybe_unused]], [[fallthrough]] and [[nodiscard]].


There are several features to simplify the code in previous versions of C++. C++17 has added this feature in the following features for the simplification of code −

  • Init statement for if/ switch
  • Inline variables
  • Structured binding declarations


C++17 improved the old searchers in previous versions of C++ language. boyer_moore_horspool_searcher, default_searcher and boyer_moore_searcher are the new searchers in C++17.

Updated on: 30-Jul-2019


Kickstart Your Career

Get certified by completing the course

Get Started