我有一个不断流动的 bool 值。我需要在 bool 变为 true 时触发一个函数,在 bool 变为 false 时触发另一个函数,但每次更改仅触发一次,因此我无法使用 while(true)
循环。
C++ 中“观察”值并在其更改时触发的最佳方法是什么?
谢谢。
最佳答案
我将通过设置一个 flagTrue 变量和一个 flagFalse 变量来解决这个问题。当遇到第一个 True 时,flagTrue 从 false 更改为 true,并且所有后续 True bool 值都将被忽略。类似地,当您遇到 firat False 时,flagFalse 将从 False 更改为 True 并忽略所有以下 False bool 值。另外,当被检查的 bool 值从 True 更改为 False 时,您将把 flagTrue 更改为 False,其他情况类似。
示例:
flagTrue = false
flagFalse = false
if (bool == true && flagTrue == false)
{
// DoSomething
flagTrue = true;
flagFalse = false;
}
else if (bool == false && flagFalse == false)
{
// DoSomething
flagTrue = false;
flagFalse = true;
}
关于C++ 当 bool 改变时触发函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38290394/