c++ - 在永远循环或无效循环中执行一次(一次)?
问题描述
我想在任何程序语言的永远循环(无效循环)中创建一次或一次执行语法。
我发现解决方案是使新变量布尔“已执行”并在执行后设置为真。
没关系,但是如果我想执行一次其他语法怎么办?我应该再次将新变量设为布尔值吗?它不会有效。想象一下有很多语法,但我必须为每种语法创建新的布尔执行。
解决方案是我认为的功能
例如
void loop()
{
lcd.print("OK");
}
这将永远打印我希望有这样的功能
void loop()
{
once(lcd.print("OK"));
}
所以“once”是一个带有参数字符串的函数,它用于命令/语法。
一次(“命令”)
解决方案
这是您可以做到的一种方法:
void loop()
{
{ // execute once. Can put this in a separate function also
static bool executed = (lcd.print("OK"), true);
}
}
你保证这个变量被初始化一次。
如果您想要once
问题中的语法,您可以使用宏实现类似的功能:
#define ONCE(...) \
{\
static bool executed = ([&]{__VA_ARGS__;}(), true); \
}
void loop()
{
ONCE(lcd.print("OK"))
}
推荐阅读
- ibm-cloud - 在 Watson Assistant 中查询 URL
- intellij-idea - intellij 在 if-else 周围用括号括起来
- python-3.x - 在函数中返回素数 = TypeError:不可排序的类型:str() < int()
- c - 使用 c 语言在 postgres 数据库中插入 modbus 值
- javascript - 如何使用 azure JavaScript 函数发送电子邮件?
- ruby-on-rails - 从视图上的选择标签中获取值发送到 var ruby 和 rails 中的控制器
- angular - Angular 7 - 将文件上传到服务器
- .net - .NET 框架中的状态机
- java - 在 ClassPathXmlApplicationContext 中失败时销毁创建的 bean
- php - 如何在外部服务器上加密以在 Laravel 应用程序中解密