make_pair
Uma função auxiliar do modelo que você pode usar para criar objetos do tipo pair, onde os tipos de componente são baseados nos tipos de dados que são passados 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 o primeiro elemento de pair._Val2
Valor que inicializa o segundo elemento de pair.
Valor de retorno
O objeto de pares que é construído: pair<Tipo1, Tipo2> (_Val1*, _Val2*).
Comentários
convertemake_pair de objeto do tipo reference_wrapper Class a tipos e converte de referência que deterioram matrizes e funções para ponteiros.
Em o objeto retornado de pair , Tipo1 é determinado como segue:
Se o tipo Tipo1 de entrada é reference_wrapper<X>, o tipo retornado Tipo1 é X&.
Caso contrário, o tipo retornado Tipo1 é decay<Type1>::type.Se decay Class não é suportado, o tipo retornado Tipo1 é o mesmo que o tipo Tipo1de entrada.
O tipo retornado é a mesma forma Tipo2 determinado tipo de Tipo2.de entrada
Uma vantagem de make_pair é que os tipos de objetos que estão sendo armazenados são determinados automaticamente pelo compilador e não precisam ser explicitamente especificados.Não use argumentos explícitos de modelo como make_pair<int, int>(1, 2) quando você usa make_pair porque é desnecessariamente detalhado e adiciona os problemas complexos de referência de rvalue que podem causar falha da compilação.
A função auxiliar de make_pair também torna possível passar dois valores a uma função que requer um par como um parâmetro de entrada.
Exemplo
Para um exemplo sobre como usar o make_pair a função auxiliar declarar e inicializar um par, consulte pair Structure.
Requisitos
Cabeçalho: <utility>
namespace: STD