我爱Aspx >> VC.Net >> Thinking again in C++(三)缺省参数的误区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);
【我对这篇文章有话说?】
C++知识点[05-21]
SQLServer中 如何取出一个表的所..[05-21]
Loki库读解-为TypeList添足:最远..[05-21]
实战DeviceIoControl 之五:列举..[05-21]
SDK按钮控件的实现[05-21]
VC++实现端口截听[05-21]
让VC不再编译帮助文件的方法[05-21]
禁止WinCE3.0操作系统下的对话框..[05-21]
让VC不再编译帮助文件的方法[05-21]
使用DirectShow驱动摄像头[05-21]