前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用#include消除重复代码

使用#include消除重复代码

作者头像
一见
发布2018-08-10 16:57:41
7520
发布2018-08-10 16:57:41
举报
文章被收录于专栏:蓝天蓝天

#include消除重复代码.pdf

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

1)提炼成函数复用

2)使用宏

3)继承

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

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

代码语言:javascript
复制
void f1()
{
try
{
。。。
}
catch (Aexception& a)
{
}
catch (Bexception& b)
{
}
catch (Cexception& c)
{
}
catch (Xexception& x)
{
}
}
void f2()
{
try
{
。。。
}
catch (Aexception& a)
{
}
catch (Bexception& b)
{
}
catch (Yexception& y)
{
}
catch (Zexception& z)
{
}
}
void f3()
{
try
{
。。。
}
catch (Cexception& c)
{
}
catch (Xexception& x)
{
}
catch (Yexception& y)
{
}
catch (Zexception& z)
{
}
}

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

代码语言:javascript
复制
void f1()
{
try
{
。。。
}
#include "catch.cc"
}
void f2()
{
try
{
。。。
}
#include "catch.cc"
}
void f3()
{
try
{
。。。
}
#include "catch.cc"
}

catch.cc文件的内容为:

代码语言:javascript
复制
catch (Aexception& a)
{
}
catch (Bexception& b)
{
}
catch (Cexception& c)
{
}
catch (Xexception& x)
{
}
catch (Yexception& y)
{
}
catch (Zexception& z)
{
}

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014-05-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档