C++中函数的默认参数(缺省参数)

简介: C++中函数的默认参数(缺省参数)

一、函数默认参数的概念

在函数声明时,预先对函数参数进行赋值,该参数即为函数的默认参数,也叫缺省参数。

如下函数func1包含默认参数,若调用函数func1时没有给函数传入实参,则默认实参为10086

void func1(int a = 10086)//函数一
{
  cout << a << endl;
}

二、函数默认参数注意事项

1.设置默认参数按从右向左的顺序

2.若函数的声明和定义分离,应在函数声明中设置默认参数,而在函数定义中无需设置默认参数。即函数的声明和定义不能同时设置默认参数

三、解释为什么当函数声明与定义分离时,默认参数要设置在声明处

假设有函数add,函数声明在头文件add.h中,函数定义在源文件add.cpp中。

编译器在检查语法时,检查到函数的声明即认为该函数存在,不会进一步进行函数定义的检查。因此如果函数声明中没有设置默认参数,那么编译器就认为该函数没有默认参数。所以当进行函数调用时,如果没有传给函数全部实参,编译器不会认为是默认参数,反而认为是语法错误。

目录
相关文章
|
14天前
|
存储 安全 编译器
【C++入门】缺省参数、函数重载与引用(下)
【C++入门】缺省参数、函数重载与引用
|
5天前
|
自然语言处理 编译器 C语言
【C++】C++ 入门 — 命名空间,输入输出,函数新特性
本文章是我对C++学习的开始,很荣幸与大家一同进步。 首先我先介绍一下C++,C++是上个世纪为了解决软件危机所创立 的一项面向对象的编程语言(OOP思想)。
30 1
【C++】C++ 入门 — 命名空间,输入输出,函数新特性
|
6天前
|
存储 算法 对象存储
【C++入门到精通】function包装器 | bind() 函数 C++11 [ C++入门 ]
【C++入门到精通】function包装器 | bind() 函数 C++11 [ C++入门 ]
14 1
|
6天前
|
存储 算法 数据安全/隐私保护
【C++入门到精通】 哈希结构 | 哈希冲突 | 哈希函数 | 闭散列 | 开散列 [ C++入门 ]
【C++入门到精通】 哈希结构 | 哈希冲突 | 哈希函数 | 闭散列 | 开散列 [ C++入门 ]
7 0
|
6天前
|
存储 自然语言处理 C++
刷题用到的非常有用的函数c++(持续更新)
刷题用到的非常有用的函数c++(持续更新)
14 1
|
7天前
|
存储 编译器 C++
【C++】内存管理和模板基础(new、delete、类及函数模板)
【C++】内存管理和模板基础(new、delete、类及函数模板)
21 1
|
7天前
|
编译器 C语言 C++
【C++】基础知识讲解(命名空间、缺省参数、重载、输入输出)
【C++】基础知识讲解(命名空间、缺省参数、重载、输入输出)
12 1
【C++】基础知识讲解(命名空间、缺省参数、重载、输入输出)
|
13天前
|
存储 C++
c/c++宏定义(函数)
c/c++宏定义(函数)
|
14天前
|
编译器 C语言 C++
【C++入门】缺省参数、函数重载与引用(上)
【C++入门】缺省参数、函数重载与引用
|
15天前
|
编译器 C++
【C++进阶】引用 & 函数提高
【C++进阶】引用 & 函数提高