博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用#include消除重复代码
阅读量:5869 次
发布时间:2019-06-19

本文共 928 字,大约阅读时间需要 3 分钟。

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

1)提炼成函数复用

2)使用宏

3)继承

4)使用闭包(boost::bindboost::function

 

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

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)

    {    

    }

}

 

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

void f1()

{

    try

    {

        。。。

    }

#include "catch.cc"

}

 

void f2()

{

    try

    {

        。。。

    }

#include "catch.cc"

}

 

void f3()

{

    try

    {

        。。。

    }

#include "catch.cc"

}

 

catch.cc文件的内容为:

catch (Aexception& a)

{

}

catch (Bexception& b)

{    

}

catch (Cexception& c)

{    

}

catch (Xexception& x)

{

}

catch (Yexception& y)

{    

}

catch (Zexception& z)

{    

}

 

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

 

转载于:https://www.cnblogs.com/aquester/p/9891599.html

你可能感兴趣的文章
GC优化
查看>>
TiDB 源码阅读系列文章(二)初识 TiDB 源码
查看>>
Java集合(十二)Map概括,总结
查看>>
123
查看>>
字符串学习笔记
查看>>
32位和64位的操作系统的差异
查看>>
SVN 分支建立 和 合并
查看>>
Java 中的 Integer 和 int 学习笔记
查看>>
OpenWRT开发之——目录分析与make过程
查看>>
连接收藏
查看>>
Android上传图片裁剪功能
查看>>
redis常用的命令
查看>>
jsrender demo
查看>>
C语言学习笔记之获取文件长度
查看>>
12.1 LNMP架构介绍 12.2 MySQL安装12.3/12.4 PHP安装 12.5 Nginx介绍
查看>>
iOS中perform+@selector多参数传递
查看>>
Mysql列类型:日期时间型
查看>>
java 编程中的非空判断怎么加才优雅?
查看>>
yum源修改
查看>>
tensorflow源码安装教程
查看>>