经常会有这样的需求,一组处理业务逻辑的并列函数要串行调用,可以有下面的方法将其串接起来。
例如我们有函数fa(), fb(), fc()
1.最简单就是顺序调用了
fa();
fb();
fc();
2.上述调用在需要判断返回值的时候写起来有些冗余,于是可以这样写:
假设返回非零表示错误
if (!fa()&&!fb()&&!fc())
……
3.使用逻辑如下的调用方式
fa()
return fb()
return fc()
前述有写过一篇Nginx的filter,就是这么组织的。
4.将函数指针组织成为数组
void(*array[])() xxx = {
fa, fb, fc
};
采用循环遍历数组进行调用即可。