本文共 705 字,大约阅读时间需要 2 分钟。
#include#include using namespace std;// 由于std::get (t)的语法中是size_t必须在编译的时候确定,所以无法传左值。// 借助模板中的可变模板参数递归实现template struct tuple_print{ static void print(const Tuple& t, std::ostream& os) { tuple_print ::print(t, os); os << ", " << std::get (t); }};// 类模板的特化版本template struct tuple_print { static void print(const Tuple& t, std::ostream& os) { os << std::get<0>(t); }}; // operator< std::ostream& operator<<(std::ostream& os, const std::tuple & t){ os << "["; tuple_print ::print(t, os); os << "]"; return os;}int main(int argc, char const *argv[]){ auto tup = make_tuple("sdfsd",1,3); cout << tup << endl; return 0;}
转载地址:http://hecii.baihongyu.com/