首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C++ SDL中断while循环

C++ SDL中断while循环
EN

Stack Overflow用户
提问于 2012-08-20 16:12:49
回答 5查看 673关注 0票数 2

我已经使用C++ SDL几天了,我遇到了一个有趣的问题。

代码语言:javascript
复制
SDL_Event event1;
while(SDL_WaitEvent(&event1))
{
    for(size_t i = 0; i < MainMenuOptions.size();i++)
    {
        if(event1.button.x > MainMenuOptions.at(i).GetX() && event1.button.x < (MainMenuOptions.at(i).GetX() + MainMenuOptions.at(i).GetWidth())  
        && event1.button.y > MainMenuOptions.at(i).GetY()  && event1.button.y < (MainMenuOptions.at(i).GetY() + MainMenuOptions.at(i).GetHeight()))
        {
            break;
        }
    }
}

当我在for循环中使用break时,它会中断for循环,而不是while循环。我如何在不使用goto语句的情况下中断while循环呢?(我听说goto语句是糟糕的编程)

EN

Stack Overflow用户

发布于 2012-08-20 16:38:09

不需要额外变量和goto的解决方案

代码语言:javascript
复制
while(SDL_WaitEvent(&event1))
{
    size_t i;
    for(i = 0; i < MainMenuOptions.size();i++)
    {
        if(/* ... */)
        {
            break;
        }
    }
    if (i < MainMenuOptions.size())
        break;
}
票数 -1
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12034241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档