共用方式為


make_tuple Function

由項目值做 tuple 。

template<class T1, class T2, ..., class TN>
    tuple<V1, V2, ..., VN>
    make_tuple(const T1& t1, const T2& t2, ..., const TN& tN);

參數

  • TN
    第 n 函式參數的型別。

  • tN
    第 n 函式參數的值。

備註

樣板函式傳回 tuple<V1, V2, ..., VN>(t1, t2, ..., tN)…,…,,每個型別 Vi 是 X& ,當對應的型別 Ti 是 cvreference_wrapper<X>時;否則,它是 Ti。

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

範例

// std_tr1__tuple__make_tuple.cpp 
// compile by using: /EHsc 
#include <tuple> 
#include <iostream> 
 
typedef std::tuple<int, double, int, double> Mytuple; 
int main() 
    { 
    Mytuple c0(0, 1, 2, 3); 
 
// display contents " 0 1 2 3" 
    std::cout << " " << std::get<0>(c0); 
    std::cout << " " << std::get<1>(c0); 
    std::cout << " " << std::get<2>(c0); 
    std::cout << " " << std::get<3>(c0); 
    std::cout << std::endl; 
 
    c0 = std::make_tuple(4, 5, 6, 7); 
 
// display contents " 4 5 6 7" 
    std::cout << " " << std::get<0>(c0); 
    std::cout << " " << std::get<1>(c0); 
    std::cout << " " << std::get<2>(c0); 
    std::cout << " " << std::get<3>(c0); 
    std::cout << std::endl; 
 
    return (0); 
    } 
 

0 1 2 3 4 5 6 7

需求

標題: <tuple>

命名空間: std

請參閱

參考

<tuple>

tie Function