Template Arguments

In this lesson, we'll learn about template arguments.

Template Arguments #

In general, template arguments can be automatically deduced for function templates. From the user’s perspective, function templates feel like functions.


  • The compiler uses simple conversions for deducing the template arguments from the function arguments.
  • The compiler removes const or volatile from the function arguments and converts C-arrays and functions to pointers.

Template argument deduction for function templates:

template <typename T>
void func(ParamType param);

Two datatypes were deduced:

  • T
  • ParamType

ParamType can be a

  • Reference or pointer
  • Universal reference(&&)
  • Value (copy)

Get hands-on with 1200+ tech skills courses.