1

很多次我遇到了如何实现这个条件设置的问题?. 我知道这听起来可能很混乱,所以让我解释一下我使用代码的意思。

本质上,我想知道以下哪一项可以实现最快的执行时间和最少的内存消耗,以及为什么会出现这种情况(希望使用对堆栈和/或寄存器的引用 - 可能还有计算机的组件,例如ALU 每次处理比较所需的时间,与 CU 每次存储变量所需的时间)。

// Variables won't be like this all the time...
boolean toggles = false;
boolean pressed = true;

void isPressed() {
    boolean ret = pressed;

    // Case one - test for toggling
    if(!toggles) pressed = false;

    // Case two - test for toggling and if it's true
    if(!toggles && pressed) pressed = false;

    return ret;
}

关于这种情况的一些背景知识:我正在设计如何将组合键潜在地实现到游戏中,但我想让Combination该类尽可能通用,而不是有两个单独的类,例如CombinationToggleCombinationAlwaysOff,但是,我 - 可能还有许多其他类——遇到过这种情况。

我正在尝试确定是否切换了此特定组合,如果没有切换,则关闭pressed布尔值。但我不确定是否应该包括一个测试来确定它是否需要关闭。

4

0 回答 0