make_pair

Una función auxiliar de plantilla que puede utilizar para construir objetos pairtipo, donde basados en los tipos del componente en los tipos de datos que se pasan como parámetros.

template<class Type1, class Type2>
    pair<Type1, Type2> make_pair(
      Type1& _Val1,
      Type2& -Val2
);
template<class Type1, class Type2>
    pair<Type1, Type2> make_pair(
      Type1& _Val1,
      Type2&& -Val2
); 
template<class Type1, class Type2>
    pair<Type1, Type2> make_pair(
      Type1&& _Val1,
      Type2& -Val2
); 
template<class Type1, class Type2>
    pair<Type1, Type2> make_pair(
      Type1&& _Val1,
      Type2&& -Val2
);

Parámetros

  • _Val1
    Valor que inicializa el primer elemento pair.

  • _Val2
    Valor que inicializa el segundo elemento pair.

Valor devuelto

El objeto de pares se construye que: pair<Type1, Type2> (_Val1*, _Val2*).

Comentarios

make_pair convierte el objeto reference_wrapper Class escriba en los tipos de referencia y convierte las matrices y las funciones de decaimiento a punteros.

En el objeto devuelto pair , se determina Type1 como sigue:

  • Si el tipo Type1 de entrada es reference_wrapper<X>, el tipo devuelto Type1 es X&.

  • Si no, el tipo devuelto Type1 es decay<Type1>::type.Si decay Class no se admite, el tipo devuelto Type1 es igual que la entrada escribe Type1.

Determinan el tipo devuelto Type2 de igual forma de tipo Type2.de entrada

Una ventaja make_pair es que el compilador determinan automáticamente y no tienen que explícitamente especificar los tipos de objetos se están almacenando que.No utilice los argumentos de plantilla explícitos como make_pair<int, int>(1, 2) cuando se utiliza make_pair porque es innecesariamente detallado y agrega los problemas complejos de referencia rvalue que pueden provocar un error de compilación.

La función auxiliar make_pair también permite pasar dos valores a una función que requiera un par como parámetro de entrada.

Ejemplo

Para obtener un ejemplo sobre cómo utilizar la aplicación auxiliar funcione make_pair a declarar e inicializar un par, vea pair Structure.

Requisitos

Encabezado: <utility>

Espacio de nombres: std

Vea también

Referencia

<utility>

Son y valores r

make_pair (STL Samples)