我正在编写必须是高性能程序的内容。
我现在拥有的是#34; A"类型的向量数组。我发明了。 " A"是一个长long和double的结构。
vector<A>* ord = new vector<A>[X];
其中X是在执行时间之前我不知道的值。
我要做的是,对于每个向量,通过long long变量对其对象进行排序,然后执行一些操作。
我的问题是,它在性能方面比我现在更好``一系列矢量&#39;或者更好地创建这样的矢量矢量:
vector<vector<A>> ord;
两个人认为:
答案 0 :(得分:2)
动态分配的向量数组和向量向量在优化的代码中可能是相同的。向量向量处理了很多问题,除非你有一些非常不寻常的问题,否则你应该更喜欢这个解决方案。
过早的优化是万恶之源 - 托尼·霍尔爵士
答案 1 :(得分:0)
你提到&#34; X是一个我不知道的值,直到执行时间&#34;,这是否意味着它的静态?
如果你需要它是动态使用向量,但如果X没有改变使用数组,因为它会为你节省一点内存(如果X是静态的,两者都将以几乎相同的速度运行)。 / p>
关于何时使用新内容的问题,我将按照这篇文章推荐: When to use "new" and when not to, in C++?