我应该使用元组的向量还是数组的向量?

时间:2015-07-22 20:51:33

标签: c++ performance vector std

我想要一个点矢量。我该如何构建我的载体?

std::vector<std::array<double, 3> > listA;

VS

std::vector<std::tuple<double, double, double> > listB;

如果我选择一个与另一个相比,是否有任何性能优势?

1 个答案:

答案 0 :(得分:3)

此处不需要std::tuple的任何功能,因此请使用最有效的标准工具。这是std::array

(或者一些名字很好的using ... = std::array;struct {std::array};。)

关于表现,你必须衡量。但我很确定std::array至少和std::tuple一样快,但很可能同样快,因为它们都在编译时完成所有工作。