【问题标题】:Any STL data structure like pair that gives three items(types) instead of two?任何 STL 数据结构,如 pair 提供三个项目(类型)而不是两个?
【发布时间】:2013-03-21 23:28:21
【问题描述】:

问题 1:

我正在使用 C++ 11,并且正在学习。我意识到我可以用两对来做到这一点:

pair<pair<<#class _T1#>, <#class _T2#>>, <#class _T3#>>

这是最好的方法吗?

问题 2:

如果我不需要不同的类型,那么两个项目的类型相同,使用pair是否浪费,我应该使用什么?三个项目? (又是同一类型)

【问题讨论】:

标签: c++ data-structures c++11 std-pair


【解决方案1】:

使用std::tuple

std::tuple<_T1, _T2, _T3>

请注意,std::tuples 支持存储在其中的任意数量的类型。此外,要访问元素,您不能很好地使用pair.first/pair.second,您必须使用语法std::get&lt;n&gt;(tuple),其中n 是您要检索的元素。

【讨论】:

  • @Arch1tect 没问题。我宁愿帮助你也不愿有一天不得不处理std::pair&lt;std::pair&lt;std::pair&lt;...
  • 如果你被 C++98 卡住了怎么办?
猜你喜欢
  • 2013-08-09
  • 2016-06-02
  • 2017-04-11
  • 2019-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-06
  • 2019-09-06
相关资源
最近更新 更多