可以说,例如,我有以下代码:
bool foo1() {
check something...
}
void foo2() {
do something ...
}
void foo3() {
do something ...
}
void foo4() {
do something ...
}
void foo5() {
do something ...
}
void foo6() {
if (foo1()) foo2();
if (foo1()) foo3();
if (foo1()) foo4();
if (foo1()) foo5();
}
有一个更好的方法吗?我不想每次都编写if语句,但是其他每个函数都可能会更改foo1()的计算。
我有一系列不同的功能,我希望它在每次调用前使用foo1()。
最佳答案
您可以将函数放在容器中,然后使用循环:
std::vector<void (*)()> functions = {foo2, foo3, foo4, foo5};
for (auto f: functions)
if (foo1())
f();
关于c++ - 检查一系列功能是否相同,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52435218/