fork(3) download
  1. #include<iostream>
  2.  
  3. template<unsigned int index, unsigned int... remPack> struct getVal;
  4.  
  5. template<unsigned int index, unsigned int In, unsigned int... remPack> struct getVal<index, In,remPack...>
  6. {
  7. static const unsigned int val = getVal<index-1, remPack...>::val;
  8. };
  9. template<unsigned int In, unsigned int...remPack> struct getVal<1,In,remPack...>
  10. {
  11. static const unsigned int val = In;
  12. };
  13.  
  14. template<unsigned int... T> struct MyClass
  15. {
  16. static void print(){
  17. std::cout<<getVal<1, T...>::val<<std::endl;
  18. std::cout<<getVal<2, T...>::val<<std::endl;
  19. std::cout<<getVal<4, T...>::val<<std::endl;
  20. //...
  21. }
  22. };
  23.  
  24. int main() {
  25. MyClass<12,34,22,55>::print();
  26. }
Success #stdin #stdout 0s 2928KB
stdin
Standard input is empty
stdout
12
34
55