我原先并不知道std::integer_sequence有什么用,直到我的膝盖中了一箭。
元组(Tuple) 元组是一种长度固定的允许有不同类型元素的集合,根据元素的个数不同又分别称作一元组、二元组、三元组等。C++11中标准库增加了一个叫std::tuple的类模板,用于表示元组。下面的代码演示了使用C++创建一个三元组。
1 2 3 4 5 6 7 8 auto tuple = std::make_tuple (1 , 'A' , "破晓的博客" );std::cout << std::get <0 >(tuple) << std::endl; std::cout << std::get <1 >(tuple) << std::endl; std::cout << std::get <2 >(tuple) << std::endl; std::cout << std::get <int >(tuple) << std::endl; std::cout << std::get <char >(tuple) << std::endl; std::cout << std::get <const char *>(tuple) << std::endl;
输出
许多编程语言如C#、Python等也有tuple的概念。下面的代码演示了使用Python创建一个三元组。
1 2 3 4 t = (1 , 'A' , "破晓的博客" ) print (t[0 ])print (t[1 ])print (t[2 ])
输出
Python从语言级别上支持将tuple展开为函数的参数,在Python中假设定义有这样一个函数func和一个元组t,下面的代码演示了将元组t的每个元素作为func函数的参数。
1 2 3 4 def func (arg1, arg2, arg3 ): print (arg1, arg2, arg3) t = (1 , 'A' , "破晓的博客" ) func(*t)
Read More