C++11中的Tuple和可变参数模版

来源:互联网 发布:神经网络算法matlab 编辑:程序博客网 时间:2024/06/06 08:46

C++11中的tuple是一个n元的可变元组,它相当于有n个元素的结构体,只不过这个结构体的成员都是匿名的,tuple中提供了一个get()方法来获取某个下标对应的元素的值。另外可以通过make_tuple()方法来构造一个tuple对象。具体用法如下

 

 

 

我们知道tuple中的元素个数是不确定的,而每个元素的类型通过模板参数指定,那么tuple是如何做到这些的呢?答案就是使用可变参数模板。在C++中,我们使用过printf函数,它的参数就是可变的,在C++11中也允许模板的参数也是可变的。举个例子,下面的代码是求参数的个数

 

 

好了,到了这里,Mayuyu再来实现一个Print函数,表示输出可变参数列表的所有值。如下

 

 

更多资料:请戳这里

 

       http://en.cppreference.com/w/cpp/utility/tuple

 

 

0 0