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<Type1, Type2> (_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