QPair很好,但如果我需要3件物品怎么办?我应该制作一个结构,还是Qt让我接受?
答案 0 :(得分:11)
如QTBUG-22441所示,开发人员无意添加std::tuple
的Qt模拟。 (即使QTBUG-3283给了我们希望它可以完成,它的日期是09年12月,而新的报告,WONTFIX,日期是5月15日)。因此,您需要回退到std::tuple
或提出自己的数据结构。
Marc Mutz引用:
无论如何,假设的QTuple不会做任何不同的事情,除了Qt开发者资源的消耗。
此外,the docs for Qt 5 Algorithms module明确说明以下内容:
历史上,Qt过去常常提供与许多STL算法函数直接等价的函数。从Qt 5.0开始,我们鼓励您直接使用STL中可用的实现;大多数Qt已被弃用(尽管它们仍可用于保留旧代码编译)。
因此,在使用Qt 5编程时使用STL是正式鼓励的,如果它成为必需品。
答案 1 :(得分:3)
您可以使用Qpair<Qpair<item1, item2>, item3>
创建自己的结构。上次我用这样的东西来实现你说的话。
请注意,要使所有操作正常工作,您需要覆盖它们。第一项是组合项目(item1 + item2对)。