【发布时间】:2017-11-24 04:34:35
【问题描述】:
希望实现一种动态表达式,以便稍后在调用时计算布尔值。
condition &&= condition2; //not evaluated just yet
condition ||= condition3;
if (condition) //evaluated now
do this;
else
do this;
例如,我在整个代码中使用相同的条件,如果我可以只调整一个语句或添加更多语句,即使程序运行也会更容易。
conditions = (x>50 && y>200) && (type == MONKEY);
conditions &&= (x<75 && y<250);
以后在代码中
if (conditions)
cout<<"Hello!";
edit:条件应在 if 语句中进行评估。
【问题讨论】:
-
您可以使用运营商
&= -
所以我只是想知道下面的答案是不是这些在赋值时评估表达式而不是 if 语句?我正在寻找在 if 语句中进行评估的功能。
-
有趣。为什么?即,您为什么要在评估事情时关心?是否存在我们不知道的线程上下文?
-
它只是一个非常简单的程序,但我正在做的是通过几个 For 循环并避免某些情况。但我不断发现更多这样的情况,将它们放在一个地方会更容易。 示例:通过窗口中的像素移动并避开窗口的某些区域。但总的来说,我只是想看看这是否可能。
-
如果你在移动,写一个移动函数,比如向左移动等等,然后跳过这些位 - 或者保持不动,或者其他什么?
标签: c++ conditional-statements lazy-evaluation