zhe*_*nic 0 c++ for-loop termination visual-c++-6 visual-c++
for (int i = 0 ; i < stlVector.size() ; i++)
{
if (i == 10)
{
stlVector.erase(stlVector.begin() + 5 )
}
}
Run Code Online (Sandbox Code Playgroud)
终止条件部分"stlVector.size()"是否考虑"stlVector.erase(...)"?换句话说,每次循环迭代都会刷新stlVector.size()吗?我现在无法测试,所以我在这里发了一个问题.
Thx提前!
最好的祝福,
zhengtonic
为了清楚起见,不要在循环刷新任何东西方面考虑它.每次检查条件时(在每次循环开始时),都会在stlVector变量上调用size()方法,并返回向量的当前大小.
erase()方法减小了向量的大小,因此下次调用size()时,返回的值将更小.
归档时间: |
|
查看次数: |
1169 次 |
最近记录: |