std::make_pair
De cppreference.com
| Definido en el archivo de encabezado <utility>
|
||
template< class T1, class T2 >
std::pair<T1,T2> make_pair( T1 t, T2 u );
|
(hasta C++11) | |
template< class T1, class T2 >
std::pair<V1,V2> make_pair( T1&& t, T2&& u );
|
(desde C++11) (hasta C++14) |
|
template< class T1, class T2 >
constexpr std::pair<V1,V2> make_pair( T1&& t, T2&& u );
|
(desde C++14) | |
Crea un objeto std::pair, deduciendo el tipo destino de los tipos de los argumentos.
|
Los tipos deducidos |
(desde C++11) |
Parámetros
| t, u | - | Los valores a partir de los cuales construir el par. |
Valor de retorno
Un objeto std::pair que contiene los valores dados.
Ejemplo
Ejecuta este código
#include <iostream>
#include <utility>
#include <functional>
int main()
{
int n = 1;
int a[5] = {1, 2, 3, 4, 5};
// construir un par a partir de dos enteros
auto p1 = std::make_pair(n, a[1]);
std::cout << "El valor de p1 es "
<< "(" << p1.first << ", " << p1.second << ")\n";
// construir un par a partir de una referencia a int y un array (que decae a puntero)
auto p2 = std::make_pair(std::ref(n), a);
n = 7;
std::cout << "El valor de p2 es "
<< "(" << p2.first << ", " << *(p2.second + 2) << ")\n";
}
Salida:
El valor de p1 is (1, 2)
El valor de p2 is (7, 3)