• 您的位置我爱Aspx >> VC.Net >> Thinking again in C++(三)缺省参数的误区
  • Thinking again in C++(三)缺省参数的误区

  • 作者:aspxer  来源:internet  日期:2007-5-21 23:48:00  关键字:
  • Thinking again in C++(三)缺省参数的误区

    sp; 爱死Thinking in系列了,所以起了这个名字。本文的思想也部分来至于这套书,或参照对比,或深入挖掘,或补益拾慧,或有感而发,既包括Thinking in C++,甚至也包括Thinking in Java。

    Thinking again in C++(三)缺省参数的误区

    关键字:C++,缺省参数,default argument,函数,function,构造器,constructor,误区

    使用缺省参数时应该注意避开下列几种误区。

    1.滥用缺省参数,损害代码的结构和可读性。

    void f(bool b=false)

    {

    if (b)

    {

    of open file

    }

    else

    {

    of close file

    }

    }

    打开文件和关闭文件在实现代码上没有什么共同点,把两个属于同一类别的函数误认为是实现机制相同,凭空捏造一个参数硬把它们凑在一块,没有什么好处!相反,谁能记得住f(true)代表打开,f()代表关闭呢?况且,f(false)、f()都可以关闭文件,如果调用者混合使用它们就会增加维护上的困难。这种情况下,写成两个独立的函数,非常清晰。

    void Open()

    {

    of open file

    }

    void Close()

    {

    of close file

    }

    推而广之,如下的做法也值得商榷。

    class CString

    {

    private:

    char * pcData;

    public:

    CString(char * pc=NULL);

    我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:关于VC代码的编写和调试(二)
    下一篇:C++知识点
  • 相关文章