Other Modifications in C++ 17

In C++17 there are also other language features related to templates that are worth to mention:

Allow typename in a template template parameters

Allows you to use typename instead of class when declaring a template template parameter. Normal type parameters can use them interchangeably, but template template parameters were restricted to class.

More information in N405110.

Allow constant evaluation for all non-type template arguments

Remove syntactic restrictions for pointers, references, and pointers to members that appear as non-type template parameters.

More information in N426811.

Variable Templates for Traits

All the type traits that yields ::value got accompanying _v variable templates.

For example:

Get hands-on with 1200+ tech skills courses.