<分区>
我正在做一个项目,在这个项目中我使用 vector ,因为数组的大小最初是未知的。使用数组而不是 vector 会减少代码的运行时间吗?如果是,那么我如何初始化/声明未知大小的数组,即数组的大小是可变的(基于输入)? “或”仅使用 vector 更好吗?
注意:- 我想知道哪个能更好地减少程序的执行时间。
<分区>
我正在做一个项目,在这个项目中我使用 vector ,因为数组的大小最初是未知的。使用数组而不是 vector 会减少代码的运行时间吗?如果是,那么我如何初始化/声明未知大小的数组,即数组的大小是可变的(基于输入)? “或”仅使用 vector 更好吗?
注意:- 我想知道哪个能更好地减少程序的执行时间。
最佳答案
编程和生活一样,天下没有免费的饭菜……时刻牢记这一点。如果你想要好的和方便的功能,你必须付出代价。
std::vector
会给您的代码增加一些您看不到的复杂性。将项目添加到您的 std::vector
可以做更多,然后只需写入一个值。它可能会分配新内存并将旧值复制到其中。还有一些你不会真正看到的东西。
切换到 std::array
不会给您带来您想要的提升。它比 std::vector
简单一些。当您正在寻找普通 c 数组的补充时,这是获得的方式。但它仍然会增加复杂性。
所以我的建议是,你会在好书中找到类似的东西。尝试基于算法而不是实现来优化您的代码。可能有缺陷的算法有更多的潜力,或者曾经有更好的算法。该实现不会为您提供地面制动助力。
关于c++ - C++ 中的 vector 与数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56034039/