缺省参数
•可以为函数的参数指定缺省值,调用该函数时若未指定实参,则与该实参相对应的形参取缺省值
–void foo (int a, int b = 456);
–foo (100); // 编译为foo (100, 456);
•如果函数的某一个参数具有缺省值,那么该参数后面的所有参数必须都具有缺省值
•函数的缺省参数是在编译阶段解决的,因此只能用常量、常量表达式或者全局变量等非局部化数值作为缺省参数
–int g = 123; void foo (int a = g, int b = 400+56);
–void foo (int a, int b = a); // 错误
•如果需要将函数的声明与定义分开,那么函数参数的缺省值只能出现在函数的声明部分