Вопросы к Поиску с Алисой
Разные перегрузки функции make_pair в C++ отличаются типами параметров, которые используются для инициализации элементов пары. learn.microsoft.com en.cppreference.com
Некоторые перегрузки:
template <class T, class U> pair<T, U> make_pair(T& Val1, U& Val2).                                                                          learn.microsoft.com                      template <class T, class U> pair<T, U> make_pair(T& Val1, U&& Val2).                                                                          learn.microsoft.com                      template <class T, class U> pair<T, U> make_pair(T&& Val1, U& Val2).                                                                          learn.microsoft.com                      template <class T, class U> pair<T, U> make_pair(T&& Val1, U&& Val2).                                                                          learn.microsoft.com                      При вызове функции компилятор по количеству и типам аргументов определяет, какую версию функции следует вызвать. uni-protvino.ru