C++ 当 bool 改变时触发函数

标签 c++ boolean-logic

我有一个不断流动的 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/

相关文章:

c++ - 为什么我的代码对于形状 "rectangle"处于无限循环中?

c++ - 保留硬盘中数据的物理地址

Mac 上 xcode 的 C++ bool 逻辑语法

java - 如何只在for循环中的所有条件都为真时才返回true?

javascript - 在 Javascript 中,A == !B 是否始终与 A != B 相同

c++ - 从二进制文件读取后出现奇怪的数字

c++ - 如何按元素出现次数将多重集排序到容器

c++ - 使用另一个程序调用正在运行的 C++ 程序中的函数

c - 退出 do while 循环 C 时出错

if-statement - Mathematica If-then 与 Implies