C++-缺省参数

缺省参数

缺省参数也叫默认参数

指的是在函数参数的位置,提前定义一个缺省值(即提前定义一个值),当函数接收到参数时,如果定义缺省值的位置未接收到参数,那么这个位置会自动使用缺省值

通过定义缺省参数的个数可分为以下情况

全缺省

全缺省就是将函数的参数都定义一个缺省值

cpp 复制代码
#include <iostream>
using namespace std;

// 全缺省:所有参数都有默认值
void printInfo(string name = "Unknown", int age = 0, string country = "Earth") {
    cout << "Name: " << name 
         << ", Age: " << age 
         << ", Country: " << country << endl;
}

int main() {
    printInfo();               // 输出:Name: Unknown, Age: 0, Country: Earth
    printInfo("Alice");        // 输出:Name: Alice, Age: 0, Country: Earth
    printInfo("Bob", 25);      // 输出:Name: Bob, Age: 25, Country: Earth
    printInfo("Cathy", 30, "Mars"); // 输出:Name: Cathy, Age: 30, Country: Mars
    return 0;
}

半缺省

半缺省就是将函数的参数只定义部分缺省值

cpp 复制代码
#include <iostream>
using namespace std;

// 半缺省:length 和 width 必须传递,height 可缺省(默认 10)
double calculateVolume(double length, double width, double height = 10) {
    return length * width * height;
}

int main() {
    // 必须至少传递前两个参数
    cout << "Volume 1: " << calculateVolume(2, 3) << endl;        // 2*3*10 = 60
    cout << "Volume 2: " << calculateVolume(2, 3, 5) << endl;     // 2*3*5 = 30
    return 0;
}

缺省值定义规则

从右向左定义

默认参数必须从参数列表的最右侧开始定义,且必须连续向左延伸

不可跳跃:默认参数必须连续设置,不能间隔未设置默认值的参数

相关推荐
阿俊-全栈开发6 小时前
LikeShop 单商户SaaS商城分销模块二开:佣金计算与结算逻辑实现
java·开发语言·微服务·likeshop·likeshop开源商城·likeshop多商户
weixin_424183618 小时前
开放—封闭原则实战(下):基于策略的流程编排与编译期多态
c++·分布式·系统架构
wuminyu9 小时前
C++协程实现接收端的零拷贝Buffer管理原理剖析
java·linux·c语言·jvm·c++
m0_380743879 小时前
C++中的freopen的用法实例详解
开发语言·c++
Escalating_xu10 小时前
【Python】基础语法(1):常量、变量、类型、输入输出与运算符
开发语言·python
jimy110 小时前
polymorph.cpp里面的“析构函数、智能指针”问题
开发语言·c++
m0_3807438710 小时前
PHP 8.3 缓存清除不生效怎么排查
开发语言·php
朝朝辞暮i11 小时前
C++ 第 6 课:switch —— 多状态选择
开发语言·c++·算法
小凡geo11 小时前
本地商家 GEO:用脚本一键生成 FAQPage 结构化数据,让 AI 切片更稳
开发语言·人工智能·python·microsoft·搜索引擎·ai
朝朝辞暮i11 小时前
C++ 第 4 课:if / else —— 让程序自己做决定
开发语言·c++