【发布时间】:2016-11-09 17:03:46
【问题描述】:
我读到vector-of-vectors 在固定的 2nd 维度下是不好的,但我无法在 http://www.stackoverflow.com 上找到问题的明确解释。
有人能解释一下为什么在单个vector 上使用二维索引比对固定的第二维使用vector-of-vectors 更可取吗? p>
另外,我假设vector-of-vectors 是具有可变 2nd 维度的二维数组的首选数据结构?如果有任何相反的证据,我很乐意看到。
【问题讨论】:
-
只有剖析师才能认真回答这个问题。互联网上有很多不受支持的说法;牢记原则:先行其道;以后快点。总的来说,是什么让程序快速运行?好的算法,异步,局部性,技巧。按此顺序;将向量的向量更改为单个向量看起来像第三/第四步。
-
给出的最常见原因是
vector<vector<whatever> >中的元素不连续,设置这样的向量需要更多工作(例如多次分配)。但是,这些论点是主观意见,而不是对事实的绝对陈述。哪种方法更好取决于如何测量/分析代码的行为/等。 -
另见this ISO CPP 常见问题解答。
-
@LightnessRacesinOrbit 答案就在其中矩阵。 并继续详细说明两者。这怎么不是在说同一件事?
-
@NathanOliver:“重复”的意思是“问题是完全重复的”。不是“问题是模糊相关的,一些答案可能适用于两者”。在您对 this 问题的回答中,请随意交叉引用该页面。
标签: c++ matrix vector 2d dimensions