C++每次执行函数时都不带if检查
C++ execute function without if check each time
假设我有一个布尔变量(全局或局部(&存在的函数。该函数应仅在bool变量为true时执行。由于该功能被重复多次&如果bool变量每次都为true,我需要一种不用执行的方法来执行这个函数。
function();
bool executeFun = true;
if(executeFun){
function();
}
..
if(executeFun){
function();
}
需要执行function()
,而无需每次检查bool。谢谢:(
将其包装在另一个函数中。
auto perhaps = executeFun ? function : +[](){};
perhaps();
perhaps();
perhaps();
您可以使用在检查条件后设置的函数指针:
#include <iostream>
using func_t = void(*)();
int main() {
func_t p = []{};
p(); // does nothing
if(true) p = []{ std::cout << "doing somethingn"; };
p(); // does something
}
您能在函数内部移动bool
检查吗?
void function();
bool executeFun = true;
void function() {
if (!executeFun) return;
...
}
...
function();
...
function();
相关文章:
- 检查一个类型是否直接派生自"enable if"上下文中的另一个类型(是其子类型)
- 简化对两个布尔值的 4 个 if/else 检查
- 获取 if 语句以检查定义的宏
- 尝试使用 indexOf 创建一个 if 语句来检查字符串是否包含字符.有一点麻烦
- 在if条件下,右或左改变值的相等性检查是否有任何区别
- if 语句正在检查什么条件
- 在 c++ 中检查 if 条件中的向量位置范围
- 卡在 if 语句中,以检查列表中的数字
- 如何避免使用多个if-else来检查返回值是否为错误代码?
- 重构使用 if 语句的重复范围检查
- 检查指针是否为null,然后在同一if语句中取消引用它,这样安全吗
- 使用 if if 语句检查 C++ 中的范围
- 在执行其中的代码之前,是否处理了 if 中的所有逻辑 OR 分隔检查?
- 是一个 for 循环,最终甚至不会运行一次,就像调用 if 语句以首先检查大小一样快
- 条件检查:if(x==0) vs. if(!x)
- C++ 简单 if 语句不检查?
- 如何使用嵌套的 if 语句检查字符数组
- 如何使用if语句来检查字符串文字是否是某个单词或短语
- 如何使用 if 检查字符串数组的第一个元素第一个符号?
- 嵌套if -用c++进行嵌套if检查