=================默认参数==================
在函数声明时表明默认值,在函数定义时正常定义
void function(int a = 2)// 函数声明
void function(int a)//函数定义
{
    //code....

}
具体规则
1.默认参数在声明中给出或者在定义中给出(默认参数可以放在函数声明或者定义中,但只能放在二者之一)

2.形参的参数名可以省略 例如 void function(int =2)

3.默认声明后不得再次尝试声明来试图更改默认值

4.函数的参数的默认值只能从后向前设置 出现非默认的参数后 左方不得再次出现默认的参数(如果某个参数是默认参数,那么它后面的参数必须都是默认参数) 例如
void fun(int a = 1, int b, int c = 3, int d = 4);
上述函数声明错误 原因是a 和 b 的位置错误

void fun(int a, int b = 2, int c = 3, int d = 4);
则是正确的

5.函数重载时谨慎使用默认参数值
代码示例
class Test
{
public:
    int func(int a)
    {
        return a;
    }

int func(int a, int b = 1)
    {
        return a + b;
    }
} ;
如果有这样的调用:
int main(void) 

    Test test;
    int result = test.func(1);

getchar() ; 
    return 0 ; 
}
会造成函数调用的二义性,引发报错.

6.赋值规则:
右边的使用默认了 左边才能使用默认值

7.重载还是使用默认参数?
一般来说如果函数的两个版本工作方式完全相同 使用默认参数
若果参数决定了的函数的工作方式截然不同 使用重载

最新文章

  1. 深入理解 Android 之 View 的绘制流程
  2. LeetCode Reverse String
  3. win7怎么显示隐藏文件夹
  4. 您的应用静态链接到的 OpenSSL 版本有多个安全漏洞。建议您尽快更新 OpenSSL
  5. 【vijos1266】搜集环盖
  6. MVC2.0前置
  7. Oracle数据库定时任务配置和日志执行情况查询
  8. python 操作word文档
  9. jQuery鼠标事件
  10. [HDU 1806] Frequent values
  11. java_method_获取数据库中列表的第一行第一列的int值
  12. PYTHON线程知识再研习C---线程互斥锁
  13. CentOS中配置SoftWareRaid磁盘冗余阵列
  14. 用windbg显示特定进程虚拟地址的方法
  15. ShellExecute使用详解
  16. [UWP 自定义控件]了解模板化控件(7):支持Command
  17. QModelIndex 与 QStandardItem互转
  18. 20162327WJH实验四——图的实现与应用
  19. Chrome DevTools的15个使用技巧(译)
  20. RF内建的变量

热门文章

  1. aliyun source.list
  2. android studio异常关机后出现的问题
  3. 分枝定界的matlab实现
  4. ACCESS中计算日均值
  5. 《TCP/IP详解 卷1:协议》读书笔记
  6. java入门笔记
  7. .net中如何发送HTTP请求网络资源
  8. wxPython入门练习代码 一
  9. PHP文件的读取
  10. iosOpenDev-install 失败官方wiki无法解决看这里(尝试有效)