tuple元组定义了一个有固定数目元素的容器,其中的每个元素类型都可以不相同,这与其他容器有着本质的区别.是对pair的泛化。
首先来介绍元组的创建和元组元素的访问。通过make_tuple()创建元组,通过get<>()来访问元组的元素。通过下面这段程序来认识这两个函数的用法:
运行结果为:
The value of t1 is (10, Test, 3.14)
The value of t2 is (7, 1)
接下来介绍tie()函数。 tie()函数可以将变量连接到一个给定的tuple上,生成一个元素类型全是引用的tuple,相当于make_tuple(ref(a),ref(b),…)。可以通过tie()函数的使用方便的对tuple进行“解包”操作。看下面的代码:
运行结果:
myint contains: 10
mychar contains: a
myfloat contains: 2.6
After assignment myint contains: 100
注:正如【1】处我们可以使用std::ignore,从而不用关联tuple中的第二个元素.
最后介绍一个tuple_cat()函数,通过该函数可以将多个tuple连接起来形成一个tuple(注:在VC11中只能连接两个tuple并不是真正的多个tuple)。
运行结果:
myauto contains:
3.14
pi
10
a