C++11 学习笔记(6) tuple 与 tie

std::tuple std::tie

在Python语法里会有元组的数据结构, 它与list有所区别.
维基百科的解释:

A tuple is an ordered list of elements. In set theory,
an n-tuple is a sequence of elements, where is a non-negative integer.
There is only one 0-tuple, an empty sequence.
An n-tuple is defined inductively using the construction of an ordered pair

C++11标准正式推出该数据结构, 此时想到的使用场景是函数返回值以 tuple的形式打包返回 n个元素的数据.
在 11标准之前, 如果想获得多个结果值有两种实现方式:
1. 以 struct 或者 class类封装(这个实现在代码维护上又多了一个使用类)
2. 传多个引用的方式, 引用的变量会在函数中修改

而现在, 可以使用 tuple描述的例子:

当然, 如果左值操作不想以 tuple展现, 可以使用 std::tie, 将已定义的变量整合到一块, 将 tuple里的数据 unpack 到各变量中.

原创文章,转载请注明: 转载自kaka_ace's blog

本文链接地址: C++11 学习笔记(6) tuple 与 tie

发表评论

电子邮件地址不会被公开。 必填项已用*标注