Why is it allowed to pass R-Values by const reference but not by normal reference?

For your final question: how can a const reference keep pointing to an R-Value (anonymous variable) Here is the answer. The C++ language says that a local const reference prolongs the lifetime of temporary values until the end of the containing scope, but saving you the cost of a copy-construction (i.e. if you were to use an … Read more