一:tuple认识
#includeusing namespace std; int main(int argc, char* argv[]) { tuple obj(2.5f, 1, 2); //元组和打印,用标准库中的get(函数模板) std::cout << get<0>(obj) << std::endl; std::cout << get<1>(obj) << std::endl; std::cout << get<2>(obj) << std::endl; return 0; }
二:通过tuple和递归调用展开参数包
#includeusing namespace std; template class A { public: static void func(const tuple & t) { cout << "value = " << get (t) << endl; if (count + 1 == maxcount) { return; } A ::func(t); } }; template class A { public: static void func(const tuple & t) { } }; template void functuple(const tuple & t) { A<0, sizeof...(T), T...>::func(t); } int main(int argc, char* argv[]) { tuple mytuple(12.5f, 100, 52); functuple(mytuple); return 0; }



