参考链接戳此

arg(argument)、param(Parameter)……同样可以翻译成参数,粗略情况下二者可以混用。

但如果要区分👇

argument

形参。函数/模板定义时写的“占位符”

parameter

实参。函数/模板调用时传入的“实际值”

D老师将二者类比为:做蛋糕的模具parameter,和实际倒入的面糊argument


代码示例

1. 函数参数

// name、times为parameters(形参)
void greet(string name,int times){
    for(int i=0;i<times;i++){
        cout<<"Hello,"<<name<<"!"<<endl;
    }
}
//KYC、6为arguments(实参)
int main(){
    greet("KYC",6)
}

2. 模板参数

// T为parameters(形参)
template<class T>
class Box{
    T content;
};
// int、string为arguments(实参)
int main(){
    Box<int> intBox;
    Box<string> strBox;
    return 0;
}

总结表格

特性 Parameter (形参) Argument (实参)
中文名 形式参数 实际参数
定义时 ✓ 函数/模板定义中
调用时 ✓ 函数/模板调用中
本质 占位符变量声明 实际的值表达式
类比 空白表格栏位 实际填写的内容