我正在观看 Mojam(现场游戏编程,在 HumbleBundle 上),我在那里看到了这段代码
(here 是代码截图)
我想知道最后一个 if 语句(即 !wasmoving && ismoving
)中的条件表达式如何计算为真(确实如此,程序员编译它并且动画正在运行)。
我已经在我的编译器中试过了
#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
的值。
关于c++ - if 的感觉——这怎么可能起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15024791/