天天看点

使用#include消除重复代码

使用#include消除重复代码

消除重复代码代码很多种,比如:

1)提炼成函数复用

2)使用宏

3)继承

4)使用闭包(boost::bind、boost::function)

上述是最为常用的,对于C++程序,闭包可能用得相对少一点。下列代码使用的是第5种:利用#include消除重复代码:

void f1()

{

    try

    {

        。。。

    }

    catch (Aexception& a)

    catch (Bexception& b)

    {    

    catch (Cexception& c)

    catch (Xexception& x)

}

void f2()

    catch (Yexception& y)

    catch (Zexception& z)

void f3()

消除重复代码之后,如下:

#include "catch.cc"

catch.cc文件的内容为:

catch (Aexception& a)

catch (Bexception& b)

{    

catch (Cexception& c)

catch (Xexception& x)

catch (Yexception& y)

catch (Zexception& z)

当然,可以用宏达到同样的目的,不过不用宏,也许是更明智的知法。

继续阅读