比如说我有以下代码:
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()。
答案 0 :(得分:2)
您可以将函数放在容器中,然后使用循环:
std::vector<void (*)()> functions = {foo2, foo3, foo4, foo5};
for (auto f: functions)
if (foo1())
f();