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()时,返回值将较小。