主题:初学者请教问题
394716706
[专家分:0] 发布于 2010-08-28 10:44:00
bool quit=false;
这个语句是什么意思
后边大都跟一个循环while(!quit){}
这个bool类型的quit是做什么的?
最后更新于:2010-08-28 10:49:00
回复列表 (共2个回复)
沙发
da_hai [专家分:50] 发布于 2010-08-28 16:56:00
bool quit=false;定义逻辑型变量并初始化为假
while(!quit){} 若条件为真则执行while语句
板凳
bombless [专家分:50] 发布于 2010-08-28 21:50:00
quit用来代表程序是否应该退出。
while(!quit)的循环,如果quit等于0的时候,循环就不会结束。
这种程序通常出现在带图形的程序中,例如OpenGL程序,SDL程序等等。
这一类的程序会显示一个窗口,然后接受鼠标和键盘的输入。运行程序后,如果你点击关闭窗口,程序就会处理这一点,使得quit不等于0,这样就会跳出while循环。程序也就顺利结束。
如果没有这个quit变量是否判断程序是否应该结束,没有while循环来保持程序一直运行,那么这一类带窗口的程序就会迅速退出,也就达不到显示图形的目的了。因此这样的while循环在图形程序中很重要(平时常见的Windows程序,比如QQ,Word也是这种设计。
Windows程序中比较典型的这种代码是:
while(GetMessage(&msg,NULL,0,0)){
TranslateMessage(&msg);
DispatchMessage(&msg);
}
窗口如果不关闭,GetMessage就不退出,达到总是处于循环中,窗口不关闭(程序也不自动关闭)的作用。
如果是SDL程序,OpenGL这一类的跨平台环境下,典型的写法就变成了:
while(!quit){
// to do: handle input
}
希望能够解决楼主的困惑。
我来回复