c++ 当我们在循环条件中使用size()函数时,它会计算每次迭代的大小吗?

ekqde3dh  于 5个月前  发布在  其他
关注(0)|答案(1)|浏览(79)

此问题在此处已有答案

For loop, is it faster to check the size of a vector outside the loop? [duplicate](5个答案)
18小时前关闭
例如,for(int i=1;i<=arr.size();i++)
PS:矢量是用户定义的矢量
在上面的例子中,arr.size()是为每次迭代执行,还是只计算一次大小并将其存储在某个地方以备将来的迭代。
如果每次迭代都执行size(),那么它的时间复杂度是多少?

mrzz3bfm

mrzz3bfm1#

它可能取决于优化级别,但通常是的。它在循环中每次都被调用。如果你想一想,循环可能会修改数组,所以size()不保证是const。

相关问题