我想要一个点矢量。我该如何构建我的载体?
std::vector<std::array<double, 3> > listA;
VS
std::vector<std::tuple<double, double, double> > listB;
如果我选择一个与另一个相比,是否有任何性能优势?
答案 0 :(得分:3)
此处不需要std::tuple
的任何功能,因此请使用最有效的标准工具。这是std::array
。
(或者一些名字很好的using ... = std::array;
或struct {std::array};
。)
关于表现,你必须衡量。但我很确定std::array
至少和std::tuple
一样快,但很可能同样快,因为它们都在编译时完成所有工作。