make_pair

Una funzione di supporto del modello che è possibile utilizzare per costruire oggetti con tipo pair, in cui i tipi di componente sono basati sui tipi di dati passati come parametri.

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
);

Parametri

  • _Val1
    Valore che consente di inizializzare il primo elemento pair.

  • _Val2
    Valore che consente di inizializzare il secondo elemento pair.

Valore restituito

L'oggetto della coppia che viene costruito: pair<Type1, Type2> (_Val1*, _Val2*).

Note

Oggetto di conversione dimake_pair di tipo reference_wrapper Class ai tipi di riferimento e convertiti in cui scomporre matrici e le funzioni puntatori.

Nell'oggetto restituito pair, Type1 è determinato come segue:

  • Se il tipo di input Type1 è reference_wrapper<X>, il tipo restituito Type1 è X&.

  • In caso contrario, il tipo restituito Type1 è decay<Type1>::type.Se decay Class non è supportato, il tipo restituito Type1 corrisponde al tipo di input Type1.

Il tipo restituito Type2 è analogamente determinato dal tipo di input Type2.

Un vantaggio make_pair fatto che i tipi di oggetti che vengono archiviati sono determinati automaticamente dal compilatore e non devono essere specificati in modo esplicito.Non utilizzare gli argomenti di template espliciti come make_pair<int, int>(1, 2) quando si utilizza make_pair perché inutilmente dettagliato e aggiunge i problemi complessi di riferimento rvalue che potrebbero provocare un errore di compilazione.

La funzione di supporto make_pair consente di passare due valori a una funzione che richiede una coppia come parametro di input.

Esempio

Per un esempio su come utilizzare la funzione di supporto make_pair per dichiarare e inizializzare una coppia, vedere pair Structure.

Requisiti

intestazione: <utility>

Spazio dei nomi: deviazione standard

Vedere anche

Riferimenti

<utility>

Lvalue e di valori rvalue

make_pair (STL Samples)