我正在看Mojam(实况游戏编程,在HumbleBundle上),我在那里看到了这段代码
(here是代码的屏幕截图)
我想知道最后if语句(!wasmoving && ismoving
)中的条件表达式如何评估为true(确实如此,程序员对其进行了编译并且动画正在运行)。
我已经在我的编译器中尝试过
#include <iostream>
#include <cstdlib>
using namespace std;
int main(){
bool ismoving=5>0;
bool wasmoving=ismoving;
cout << "ismoving"<< ismoving << " oraz wasmoving " << wasmoving << endl;
if (!wasmoving && ismoving) cout << "1st = true 2nd = true" << endl;
system("PAUSE");
return 0;
}
当然,如果最后一个if路径错误,则什么也不会发生。
谁能解释截图中的代码如何起作用?
最佳答案
请注意,在屏幕截图中,将ismoving
变量复制到wasmoving
之后会进行更新,因此在评估条件时,ismoving
的值很可能与wasmoving
的值不同。