21xrx.com
2024-09-19 09:13:11 Thursday
登录
文章检索 我的文章 写文章
C++函数中的缺省参数
2023-07-07 01:40:24 深夜i     --     --
C++函数 缺省参数 默认值 函数重载 计算机程序设计

C++函数中,可以给参数指定默认值,这样在调用函数时如果没有为该参数传入值,则使用默认值。这种参数被称为缺省参数(默认参数)。

语法格式如下:


void function_name(int arg1, int arg2 = default_value);

其中,最后面的参数 `arg2` 使用了默认值 `default_value` 。如果在调用函数时不指定 `arg2` 的值,则使用这个默认值。

下面是一个例子:


#include <iostream>

using namespace std;

void print(int x, int y = 10)

  cout << "x = " << x << "

int main() {

  print(50);    //x = 50, y = 10

  print(20, 30);  //x = 20, y = 30

  return 0;

}

上面的代码中,函数 `print` 带有两个参数 `x` 和 `y` ,其中 `y` 使用了默认值 `10` 。在第一个调用中,只传入了一个参数 `50`,则 `y` 在函数内部会使用默认值 `10` 。在第二个调用中,指定了两个参数 `20` 和 `30`,则 `y` 的值为 `30`。

需要注意的是,当函数存在多个缺省参数时,调用函数时可以省略其中一个的值,但是不能省略两个及以上的值。


#include <iostream>

using namespace std;

void print(int x = 0, int y = 10, int z = 20) z = " << z << endl;

int main() {

  print();     //x = 0, y = 10, z = 20

  print(1);    //x = 1, y = 10, z = 20

  print(1,2);   //x = 1, y = 2, z = 20

  //print(1,,3);  //错误:省略多个缺省参数的值

  return 0;

}

上面的代码中,函数 `print` 带有三个参数,分别是 `x` , `y` 和 `z` 。在函数定义时,这三个参数都使用了默认值。在 `main` 函数中,调用了 `print` 函数多次,并省略了其中一个或两个参数的值。但是,不能只传入了 `1` 和 `3` 两个参数,而省略了 `y` 的值。

缺省参数的使用,可以使得函数定义更加简洁明了,减少代码重复。但是,当函数的参数很多时,过多的缺省参数可能会降低代码的可读性和理解性,同时也会增加调试难度。因此,在使用缺省参数时,需要慎重考虑。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复