表格驱动的方式来代替大量的switch...case 或者 if...else if

3560阅读 0评论2013-03-11 mcuflower
分类:C/C++

这种方式在MFC,ATL和其他的框架库中如wxWidget等中,经常用到。
比如MFC和wxWidget中的消息映射,ATL中的接口表格。

在essential com中用以下的宏实现一个返回驱动表格数组的指针,这个驱动表格是个静态的表格项数组,以{0,0,0,..}作为结束项,
BEGIN_INTERFACE_TABLE(ClassName) //函数头
    IMPLEMENT_INTERFACE(Itf)//表格项
END_INTERFACE_TABLE()//函数尾


表格驱动的方式来代替大量需要手工填写的switch...case 或者 if...else if等。

上一篇:用表驱动代替switch-case .
下一篇:How can I determine the maximum stack size of my program?