【发布时间】:2012-07-27 16:29:05
【问题描述】:
可能重复:
Using arrays or std::vectors in C++, what's the performance gap?
我只是想知道它们中的哪一个更快并且使用更少的资源?我认为向量更可靠和安全,但指向数组的指针更快。我想重新调整数组的大小(添加新元素,因此将其增加 1 或从中删除元素)。向量有它的功能,而指针需要我创建的。
我不知道该选哪一个。你有什么建议?谢谢!
【问题讨论】:
-
"I want to re-size the array"- 使用vector...故事结束。 -
如果你想要一个“可重新调整大小”的数组,总是使用向量。这是解决这个常见问题的最佳实现,不要重做!
-
就像所有此类问题的情况一样,答案是:先编写干净、简单的代码,然后在你让它工作后,看看它是否足够快。如果不是,请确定代码的哪些部分导致性能问题(通过分析)并提高这些部分的性能。从
vector开始,但设计您的程序时,如果您以后确定需要这样做,您可以轻松地将其替换为任何其他随机访问序列。 -
经典新手关注。你不知道电脑真的很快吗?正如詹姆斯所说,先做简单的方法,然后如果你有效率问题,以后再优化。但在这种情况下,vector 可能与您编写的任何代码一样快。
标签: c++ arrays pointers vector