C++-函数参数类型规范

一、出入参

入参是被调函数需要的参数, 出参是主调函数需要的参数。
怎么理解呢?

  • 入参,就是被调函数要使用的,没有它被调函数可能无法工作,而为了确保使用它只是来满足被调函数的工作,不影响到主调函数的变量,(可能为了复制花费使用引用或者指针)一般加上 const 关键字加以修饰。

  • 出参,就是经过被调函数的执行后,需要返回给主调函数的参数,它可以是主调函数传入的,也可以是被调函数内部生成的。值得注意的一点,参数的传出,不是以返回值的形式,而是以参数指针或者引用的方式,(引用和指针能让形参影响到实参),这样能影响到主调函数里的变量,就变相的返回了主调函数所需要的值,所以叫出参,因为有参数值的改变,所以一般不需要加上 const 关键字进行修饰。

  • 入出参,兼具了两者的功能,但是容易混淆,不推荐使用。

二、规范

假设类型为 A,如果容易复制就传value,如果可以为null就传pointer,如果不为null就传reference,如果不改变就加const,其他按规定来

  • 不可为 null 的入参(必须传入值),使用 const A / const A &
  • 可为 null 的入参(可传值可不传值),使用 const A*
  • 出参(一般可传值可不传值),使用 A*
  • 入出参(一般必须传入值),使用 A&
  • 其他的参数按照特有的规定,比如规定必须用右值引用。

传不传值,对使用指针还是引用有啥影响呢?

其实影响不大,但方便的一点是,指针可以赋 null,然后你可以很轻松的使用,但是引用,是某个对象的别名,就必须先有一个对象,这就多了一些心智负担,麻烦一点,但同时也严谨一点。

所以,对于可传值可不传值的参数,使用指针可以传空值,比较方便。对于必须传值的参数,使用引用可以避免传空值,比较严谨。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值