缺省参数
缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的实参。
void Test(int a=10)
{
printf("a=%d\n",a);
}
int main()
{
Test();//10 实际上编译器给传了一个缺省值
Test(20);//20
return 0;
}
缺省参数分类
全缺省参数:每个参都给一个缺省值
void Test(int a=10,int b=20,int c=30)
{
printf("a=%d\n",a);
printf("b=%d\n",b);
printf("c=%d\n",c);
}
int main()
{
Test();
Test(40);
Test(40,50);
Test(40,50,60);
return 0;
}
半缺省参数(只能从右往左依次来给值)
注意:
带缺省值的参数必须放在参数列表的最后面
缺省参数不能同时在函数声明和定义中出现,只能二者则其一
缺省值必须是常量或者全局变量
C语言不支持
命名空间
在C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称 将都存在于全局命名空间中,会导致很多冲突,使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。
注意
一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中 。
没有名称的命名空间,它的成员只在声明该命名空间的文件中可以访问,访问时不需要加命名空间名称,对于其他文件该命名空间中内容不可见。