共用方式為


make_pair

樣板函式,可用來建構 pair 類型物件,其中元件類型是根據做為參數傳遞的資料類型自動選擇。

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 物件:pair<Type1, Type2>(Val1, Val2)。

備註

make_pair 會將 reference_wrapper 類別 類型物件轉換成參考類型,並將衰減陣列和函式轉換成指標。

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

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

  • 否則,傳回的類型 Type1 為 decay<Type1>::type。 如果不支援 decay 類別,則傳回的類型 Type1 與輸入類型 Type1 相同。

傳回的類型 Type2 同樣是根據輸入類型 Type2 判斷。

make_pair 的其中一個優點是,編譯器會自動決定所儲存物件的類型,不需要明確指定。 當您使用 make_pair 時不要使用明確樣板引數 (例如 make_pair<int, int>(1, 2)),因為它具有不必要的詳細資訊,並新增可能導致編譯錯誤的複雜右值參考問題。 在這個範例中,正確語法是 make_pair(1, 2)。

make_pair 協助程式函式也能夠讓您傳遞兩個值給需要成對輸入參數的函式。

範例

如需如何使用協助程式函式 make_pair 宣告並初始化配對的範例,請參閱 pair 結構

需求

標頭:<utility>

命名空間: std

請參閱

參考

<utility>

Lvalues 和 Rvalues