C++ Language/Indirection/RvalueReferences/PerfectForwarding
If both move-semantics and copy-semantics exist in both a base class and a derived class, then you might need to maintain the choice of move-or-copy when a derived class' function delegates up to the base class' function.
To maintain that move-or-copy choice, std::forward<>
is used.
Additional information about perfect forwarding (includes interactive examples)