January 2020
Intermediate to advanced
454 pages
11h 25m
English
In C++11, the standards committee added the ability to automatically deduce a template function's type information based on the arguments that were passed to the function.
Check out this example:
template<typename T>void foo(T t){ show_type(t);}
The preceding function creates a standard template function that executes a function called show_type() designed to output the type information that it is provided with.
Before C++11, we would use this function as follows:
int main(void){ int i = 42; foo<int>(i); foo<int>(42);}
The compiler already knows that the template should define the T type as an integer as that is what the function was provided for. C++11 removes this redundancy, allowing the following:
int main(void){ int i ...