Why is there a need to have std::reference_wrapper? Where should it be used? How is it different from …