Freigeben über


make_pair

Eine Vorlagenhilfsfunktion, die Sie verwenden können, um Objekte des Typs pair zu erstellen, in dem die Komponententypen auf Grundlage der Datentypen sind, die als Parameter übergeben werden.

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

Parameter

  • _Val1
    Ein Wert, der das erste Element aus pair initialisiert.

  • _Val2
    Ein Wert, der das zweite Element von pair initialisiert.

Rückgabewert

Das Paarobjekt, das erstellt wird: pair<Type1, Type2> (_Val1*, _Val2*).

Hinweise

make_pair Bekehrtobjekt des Typs reference_wrapper Class auf Verweistypen und zu konvertiert, die Arrays und Funktionen zu Zeigern verfallen.

pair im zurückgegebenen - Objekt wird Type1 bestimmt, wie folgt:

  • Wenn der Eingabetyp Type1reference_wrapper<X> ist, ist der zurückgegebene Typ Type1X&.

  • Andernfalls ist der zurückgegebene Typ Type1decay<Type1>::type.Wenn decay Class nicht unterstützt wird, entspricht der zurückgegebene Typ Type1 derselbe wie der Eingabetyp Type1.

Der zurückgegebene Typ Type2 wird aus dem Eingabetyp Type2. bestimmt

Ein Vorteil von make_pair ist, dass die Objekttypen, die gespeichert werden, automatisch vom Compiler bestimmt werden und nicht explizit angegeben werden müssen.Verwenden Sie keine explizit Vorlagenargumente wie make_pair<int, int>(1, 2), wenn Sie make_pair verwenden, da es unnötigerweise detailliert ist und komplexe rvalu-Verweis-Probleme hinzufügt, die möglicherweise Kompilierungsfehler verursacht haben.

Die make_pair Hilfsfunktion ist es auch möglich, zwei Werte in eine Funktion zu übergeben, die ein Paar als Eingabeparameter erfordert.

Beispiel

Ein Beispiel dazu, wie Sie die Hilfsfunktion make_pair verwendet, um ein Paar zu deklarieren und zu initialisieren, finden Sie unter pair Structure.

Anforderungen

Header: <utility>

Namespace: std

Siehe auch

Referenz

<utility>

Lvalues und Rvalue

make_pair (STL Samples)