首页 > 代码库 > 2014.7.23日结

2014.7.23日结

1.main函数可以递归吗?

g++,vs2010是可以的

2.int main()
{
    static int a=5;
    while(--a > 0){
        cout << "before" << a << endl;
        main();
        cout << "after" << a << endl;
    }

}输出结果是

int main()
{
    static int a=5;
    while(a-- > 0){
        cout << "before" << a << endl;
        main();
        cout << "after" << a << endl;
    }

}输出结果是

3.函数默认参数值

int add(int x=5);和int add(int =5);声明效果是一样的

int add(int x=5){

...

}函数实现部分这样写也是一样的

调用的时候

add()和add(10)分别调用默认参数值和自定义值

注意:当有多个参数的时候,如

int add(int a,int b,int c)

只有给c赋值了,才可以给b赋值,想给a赋值,必须b和c都赋值了

原因是缺省调用的时候不会产生歧义

4.函数重载的问题

函数重载必备的要求:

参数类型和参数个数至少一个必须不同,对于返回值没要求

如果只有返回值不同,编译器会报错的