c++ 11标准库元组模板怎么使用

这篇文章主要讲解了“C++11标准库tuple模板怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++11标准库tuple模板怎么使用”吧!

什么是tuple

作者英语一般,在写文章之前首先查了一下tuple的意思,百度翻译给出的结果是:元组,数组。说实话没懂。再查英语词典,给出的解释是:

a structure of data that has several parts。

这个好理解,就是包含多个部分的数据结构

初始化

tuple初始化有几种方式,首先是默认初始化。这种情况下,tuple的每个成员都被默认初始化。

C++11标准库tuple模板怎么使用

也可以在初始化时指定各个成员的值。下面代码中第一种方式使用的是tuple的构造函数,第二种方式使用的是初始化列表。

C++11标准库tuple模板怎么使用

使用make_tuple函数配合auto类型指示符,还可以更简洁地初始化tuple。

C++11标准库tuple模板怎么使用

访问tuple成员

对象建立之后,就可以访问它的各个成员了。访问的形式比较特别,是一个函数模板。也许不大习惯代码的形式,其实只要理解以下几点即可。

  1. 函数参数是tuple对象。

  2. 模板参数是成员的索引,而且必须是const expression类型。

  3. 虽然模板参数还有一个是tuple对象的类型,但由于编译器可以通过tuple对象推断,实际上并不需要输入。

代码如下:

C++11标准库tuple模板怎么使用

输出结果参照注释。

取得成员的数量和类型

如果tuple数据的生成者和使用者不在一个模块中,可能就需要对数据进行某种检查,这时就很可能希望知道成员的数量或者类型。直接上代码。

C++11标准库tuple模板怎么使用

从上述代码可以看到:

1.tuple_size,tuple_element的输入都需要tuple对象的类型,而不是对象本身。

2.取得成员的类型可以使用tuple_element,也可以使用decltype结合得到取得。

感谢各位的阅读,以上就是“C + + 11标准库元组模板怎么使用”的内容了,经过本文的学习后,相信大家对c++ 11标准库元组模板怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

c++ 11标准库元组模板怎么使用