大话C++:第7篇 函数参数默认值

1 函数参数默认值概念

函数参数的默认值是指在函数定义时,为参数指定一个默认值。当调用该函数时,如果没有给参数传递值,则会使用该参数的默认值。

在C++中,定义具有默认参数的函数的语法格式

return_type function_name(type parameter_name = default_value);

其中,

  • parameter_name表示函数的参数名

  • default_value表示参数的默认值

函数参数默认值的基本用法是在调用函数时,如果没有提供某个参数的值,则使用该参数的默认值。这可以简化函数调用,提高代码的可读性和可维护性。

#include <iostream>

// 定义一个函数,用于计算两个数的和
// 参数b采用默认值,默认值为0
int sum(int a, int b = 0) 
{
    return a + b;
}

int main() 
{
    // 调用函数,只提供一个参数
    int result1 = sum(5);
    std::cout << "5 + 0 = " << result1 << std::endl;

    // 调用函数,提供两个参数
    int result2 = sum(5, 3);
    std::cout << "5 + 3 = " << result2 << std::endl;

    return 0;
}

2 函数参数默认值注意事项

在使用函数参数默认值时,需要注意以下几点:

  • 默认值的生效条件:只有当函数调用时没有提供该参数的值时,才会使用默认值。如果提供了该参数的值,则使用提供的值。

  • 默认值表达式:如果默认值是表达式,则该表达式是惰性求值的。也就是说,只有在需要使用默认值时才会计算表达式的值。

  • 设置默认值的小技巧:在设置默认值时,应该考虑参数的常见值和合理范围,以及程序的健壮性和可维护性。

  • 函数的默认参数从左向右,如果一个参数设置了默认参数,那么这个参数之后的参数都必须设置默认参数。

  • 如果函数声明和函数定义分开写,函数声明和函数定义不能同时设置默认参数。

其中,函数声明和函数定义分开的代码示例如下:

// func.h
#ifndef __FUNC_H__
#define __Func_H__

// 声明函数
// num2采用默认值
void func(int num1, int num2 = 0);

#endif


// func.cpp
#include <iostream>
#include "func.h"

// func函数的实现
void func(int num1, int num2)
{
	std::cout << "num1=" << num1 << std::endl;
	std::cout << "num2=" << num2 << std::endl;
}

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值