The complete list of C++17 features can be found at http://en.cppreference.com/w/cpp/compiler_support#C.2B.2B17_features.
To give a high-level idea, the following are some of the new C++17 features:
- New auto rules for direct-list-initialization
- static_assert with no messages
- Nested namespace definition
- Inline variables
- Attributes for namespaces and enumerators
- C++ exceptions specifications are part of the type system
- Improved lambda capabilities that give performance benefits on servers
- NUMA architecture
- Using attribute namespaces
- Dynamic memory allocation for over-aligned data
- Template argument deduction for class templates
- Non-type template parameters with auto type
- Guaranteed copy elision
- New specifications for inheriting constructors
- Direct-list-initialization of enumerations
- Stricter expression evaluation order
- shared_mutexÂ
- String conversions
Otherwise, there are many new interesting features that were added to the core C++ language: STL, lambadas, and so on. The new features give a facelift to C++, and starting from C++17, as a C++ developer, you will feel that you are working in a modern programming language, such as Java or C#.