In this video we describe l-values, r-values, l-value refernces, and r-value references. We also show how the compiler matches the actual parameter with the formal parameter so that function overloading can occur with two functions with the same name but one parameter is passed by lvalue reference and the other is passed by rvalue reference.