Sure: The whole purpose of the template class std::reference_wrapper<T>
is to hold a reference!
This has many uses. For example, you can pass it to the std::thread
constructor (which always makes copies). You can also make containers of reference-wrappers.
Holding a reference to something might also be useful when you want to wrap an output stream; you hold the original stream as a reference and add things to it (for example, this answer of mine could be improved by adding a reference to the underlying stream to the wrapper objects).