可変パラメータ関数テンプレート


16.53自分のバージョンのprint関数を作成し、1つ、2つ、および5つの実パラメータを印刷してテストします.印刷する各実パラメータには異なるタイプがあります.
#include<iostream>

#include<string>

using namespace std;



template <typename T>

ostream& print(ostream &os,const T &t)

{

    os<<t;

    return os;

}



template <typename T,typename ... Args>

ostream& print(ostream &os,const T &t,const Args&...rest)

{

    os<<t<<" , ";

    return print(os,rest...);

}



int main()

{

    print(cout,1,3.14,"hello");

}