共用方式為


make_pair

您可以使用來建構物件型別 pair的範本 Helper 函式,元件型別以傳遞做為參數的資料型別。

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

參數

  • _Val1
    初始化 pair值的第一個項目。

  • _Val2
    值初始化 pair的第二個項目。

傳回值

已建構的物件: pair<Type1Type2> (_Val1*, _Val2*)。

備註

make_pair 型別 reference_wrapper Class 轉換物件至腐朽陣列和函式的參考型別 (Reference Type) 轉換成指標。

在傳回的 pair 物件,判斷 Type1 如下:

  • 如果輸入型別 Type1 是 reference_wrapper<X>,傳回的型別是 X&Type1

  • 否則,傳回的型別是 decay<Type1>::typeType1 。如果 decay Class 不支援,則傳回的型別 Type1 與輸入型別 Type1

這個傳回的型別 Type2 從輸入型別 Type2.相同地決定的

make_pair 的其中一個優點是儲存編譯器自動決定物件的型別,而不需要明確指定。不要使用明確樣板引數 (例如 make_pair<int, int>(1, 2) ,當您使用 make_pair 時,因為它不必要地詳細資訊並將可能會造成編譯失敗的複雜 rvalue 參考問題。

make_pair Helper 函式也會透過兩個值給需要一個做為輸入參數的函式。

範例

如需如何的一個範例使用 Helper 函式宣告中的 make_pair ,並初始化配對,請參閱 pair Structure

需求

標題: <utility>

命名空間: std

請參閱

參考

<utility>

值和 Rvalues

make_pair (STL Samples)