for (int i = 0 ; i < stlVector.size() ; i++)
{
    if (i == 10)
    {
        stlVector.erase(stlVector.begin() + 5 )
    }
}


终止条件部分“ stlVector.size()”是否取“ stlVector.erase(...)”
考虑?换句话说,stlVector.size()是否在每次循环迭代时刷新?
我现在无法测试,所以我在这里发布了一个问题。

提前谢谢!

最好的祝福,

正通

最佳答案

只是要清楚一点,不要以循环刷新任何形式来考虑它。每次检查条件时(在每次循环的开始时),都会在stlVector变量上调用size()方法,并返回向量的当前大小。

delete()方法减小了向量的大小,因此,下次调用size()时,返回值将较小。

09-20 06:48