这个周期是做什么的?有什么意义?

问题描述

int myDrawOrder = sprite->GetDrawOrder();
auto iter = mSprites.begin();
for(;iter != mSprites.end(); ++iter)
{
    if(myDrawOrder < (*iter)->GetDrawOrder()) //what does this line mean?
    {
        break;
    }
}

GetDrawOrder()返回小精灵在队列中的位置。

解决方法

循环遍历小精灵,并在找到breaks之前绘制的小精灵时sprite进行迭代。您没有共享其余的代码,但是大概可以用该Sprite完成一些操作(例如,绘制它)。

,

由于requests不在循环中,因此它留在循环后 ,指向第一个iter为true的元素(或myDrawOrder < (*iter)->GetDrawOrder()没有一个。)

这是搜索操作。

也可以这样写:

mySprites.end()