【C++】形参使用介绍

1、形参中的中括号;

eg:下面举个简单例子进行介绍

fun(string[, offset[, length]][, encoding]);

说明:上面的 fun 函数中有四个形参,其中参数 string 是要求必须传入的,而针对带有中括号的形参  offset、length、encoding 按需求选择性传入,即可传也可以不传;针对 [, offset[, length]] 情况,形参[, length] 在形参 [, offset] 所在的中括号中时,如果想传入 length 参数,则必须传入 参数 offset ;

2、数组作为形参;

eg:下面举个简单例子进行介绍

func(int a[],int b);
func(int *a,int b);
func(int a[10],int b);

说明:针对数组作为形参,上述三个函数是等价的,目的都是把数组传入到函数中,其实质都是传入数组的首地址;

3、以引用的形式传参;

 eg:下面举个简单例子进行介绍

void func(int &x,int &y){}    //定义;
func(a,b);    

4、指针作为形参;

 eg:下面举个简单例子进行介绍

void func(int* x,int* y){}    //定义;
func(&a,&b);        

说明:注意区分指针形参和按引用传参,易混淆;

5、函数参数列表中如果前面的做了初始化,那么后面的都应该进行初始化;

 eg:下面举个简单例子进行介绍

int fun(int a,int b=10,int c=11); //正确

int fun(int a,int b=10,int c);    //不正确

6、在形参列表中定义函数;

//先对二维数组进行排序
//如果第一维不同,则第二维升序;如果第一维相同,则第二维降序 
sort(envelopes.begin(), envelopes.end(), [](const auto& e1, const auto& e2) {
            return e1[0] == e2[0] ? e1[1] > e2[1] : e1[0] < e2[0]; });

//暂且可以认为 [] 用来接收函数的返回值,且在形参列表中定义函数时,参数类型可以用 auto
//如果正常情况下定义函数时,函数的参数类型不可以使用 auto

//在形参列表中定义函数多用于 sort 函数排序

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值