16.2.5. Template Argument Deduction and References
In order to understand type deduction from a call to a function such as
template <typename T> void f(T &p);
in which the function’s parameter p
is a reference to a template type parameter T
, it is important to keep in mind two points: Normal reference binding rules apply; and const
s are low level, not top level.
Type Deduction from Lvalue Reference Function Parameters
When a function parameter is an ordinary (lvalue) reference to a template type parameter (i.e., that has the form T&
), the binding rules say that we can pass only an lvalue (e.g., a variable or an expression that returns a reference ...
Get C++ Primer, Fifth Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.