当前位置:项目开发->项目经验 ->函数单入口的研究和实现方法

原创版权标志函数单入口的研究和实现方法

作者:NBHZ200  发表时间:2018/6/28 9:01:57  阅读:
[摘要] 说说我见过的实现单入口的方法。算是一个排版类的技巧。
使用支付宝扫码领红包,余额宝付款才可以使用红包哦!不要忘记哈。每天扫一次,天天赚红包!!可以将二维码保存到手机,每天直接扫码领红包啦!!

    正式项目要求单入口,单出口。可是写起来需要多入口,实际上确实是单入口,单出口。实现方法举例说明。

    void func(void* v1, void* v2, void* v3, void* v4, void* v5)

    {

    对 v5 进行处理;

    void func(v1, v2, v3, v4);

    }

    

    void func(void* v1, void* v2, void* v3, void* v4)

    {

    对 v4 进行处理;

    void func(v1, v2, v3);

    }

    

    void func(void* v1, void* v2, void* v3)

    {

    对 v3 进行处理;

    void func(v1, v2);

    }

    

    void func(void* v1, void* v2)

    {

    对 v1, v2 进行处理;

    }

    这样,不论调用它们中的哪一个,实际上最终都是调用 func(void* v1, void* v2),实现了单入口。

    

    然后下面这个是类似递归的方法。

    

void DealWithXX(void* v1, void* v2)

    

    {

    if (应该先处理 v1)

        DealV1(v1, v2);

    if(应该直接处理 v2)

        DealV2(v2);

    }

    

    DealV1(void* v1, void* v2)

    {   

    //处理v1

    DealV2(v2);

    }

    DealV2(void* v2)

    {

    //处理v2

    //执行处理完成事件。这事件可以由别处引入。

    }

    

    这样兼顾了DealV1, DealV2 的执行顺序,容易和其他地方共同完成一件事。也实现了单入口。不论v1, v2是何种情况都只需要调用 DealWithXX

    

    

    

微信扫码关注公众号CPP技术网,微信号cpp_coder,关注我们的公众号,阅读更多精彩内容!每天还可以领取大红包哦!!!每天还可以领取大红包哦!!!每天还可以领取大红包哦!!!
文章来源:C++技术网原创文章版权为网站和作者共同所有,会员文章禁止转载。非会员文章转载做好本文超链接即表示授权转载。通过文章下面的分享按钮可以自由分享所有文章。

返回顶部

在线提问
问题标题:
问题描述:(简陋的描述会导致问题被最后回答、没有针对性回答甚至无法解答。请确保问题描述的足够清楚。)