A forwarding reference refers to a reference type that may either be an lvalue reference or an rvalue reference depending on its initializer. They allow the user to employ perfect-forwarding. The term applies either to a parameter of type T&& where T is a template parameter type or auto, as well as to auto&& local variables.