C++ 中的向量与数组

Vectors vs Array in C++

我正在做一个项目,在这个项目中我使用向量,因为数组的大小最初是未知的。使用数组而不是向量会减少代码的 运行 时间吗?如果是,那么我如何 initialize/declare 未知大小的数组,即数组的大小是可变的(基于输入)? "OR" 只使用向量更好吗?

注意:- 我想知道哪个能更好地减少程序的执行时间。

编程和生活一样,天下没有免费的饭菜...请时刻牢记这一点。如果你想要好的和方便的功能,你必须付出代价。

std::vector 会给您的代码增加一些您看不到的复杂性。将项目添加到您的 std::vector 可以做更多,然后只需写入一个值。它可能会分配新内存并将旧值复制到其中。还有一些你不会真正看到的东西。

切换到 std::array 不会给您带来您想要的提升。比std::vector简单一些。当您正在寻找普通 c 数组的补充时,这是获得的方式。但是,它仍然会增加复杂性。

所以我的建议是,你会在好书中找到类似的东西。尝试基于算法而不是实现来优化您的代码。可能有缺陷的算法有更多的潜力,或者曾经有更好的算法。该实施不会为您提供地面制动助力。