Effective C++ 学习笔记(17)
2011-08-06 00:09
267 查看
在函数重载和设定参数缺省值间慎重考虑
会对函数重载和设定参数缺省值产生混淆的原因在于,它们都允许一个函数以多种方式被调用:
那么,什么时候该用哪种方法呢?
答案取决于另外两个问题。第一,确实有那么一个值可以作为缺省吗?第二,要用到多少种算法?一般来说,如果可以选择一个合适的缺省值并且只是用到一种算法,就使用缺省参数。否则,就使用函数重载。
会对函数重载和设定参数缺省值产生混淆的原因在于,它们都允许一个函数以多种方式被调用:
void f(); // f 被重载 void f(int x); f(); // 调用 f() f(10); // 调用f(int) void g(int x = 0); // g 有一个 // 缺省参数值 g(); // 调用 g(0) g(10); // 调用 g(10)
那么,什么时候该用哪种方法呢?
答案取决于另外两个问题。第一,确实有那么一个值可以作为缺省吗?第二,要用到多少种算法?一般来说,如果可以选择一个合适的缺省值并且只是用到一种算法,就使用缺省参数。否则,就使用函数重载。
相关文章推荐
- C++学习笔记17,构造函数体内初始化数据成员与构造函数初始化器的区别(一)
- Effective c++ 学习笔记——条款04:确定对象被使用前已先被初始化
- Effective C++ 学习笔记11
- C++学习笔记(17)——虚函数与构造函数、析构函数
- EffectiveC++第三章构造函数析构函数和赋值操作符学习笔记
- EffectiveC++第七章杂项学习笔记
- EffectiveC++学习笔记-条款5|6
- Effective C++ 学习笔记(20)
- Effective C++ 学习笔记[2]
- 【菜鸟C++学习笔记】17.指针在堆中的操作
- Effective C++ 学习笔记5
- effective c++ 学习笔记1:让自己习惯C++
- Effective C++ 学习笔记(一)
- More Effective C++学习笔记-条款5|6
- Effective C++ 学习笔记
- C++ 学习笔记(17)tuple类型、bitset类型、随机数(引擎和分布)、IO库(操纵符、未格式化输入输出、随机访问)
- Effective C++ 学习笔记(1)
- Effective C++ 学习笔记(4)
- Effective c++学习笔记——条款6,不想自动生成函数,要明确拒绝
- C++学习笔记17