delphi中的函数传参如何传枚举参数_C++:函数传参

函数的参数传递[1][2]

  • 在函数被调用时才分配形参的存储单元
  • 实参可以是常量、变量或表达式
  • 实参类型必须与形参相符
  • 值传递是传递参数值,即单向传递
  • 引用传递可以实现双向传递
  • 传引用作参数可以保障实参数据的安全

引用的概念[1][3]

  • 引用(&)是标识符的别名
  • 定义引用时,必须同时对它进行初始化,使它指向一个已经存在的对象
  • 一旦引用被初始化后,就不能改为指向其他对象
  • 引用可以作为形参

例子:

52ac781de0c046100a944a44c5d4cdad.png

ed9a6ae79370927307c3178415070e6d.png

1c3758a78ac77ae491c41a03885af870.png

运行结果:x=10,y=5

8baf3f23b776b2994e619c0e6b7349c4.png

参数的类型决定了形参和实参交互的方式:

  • 形参是引用类型:形参将绑定到对应的实参上(引用传递(passed by reference)或者函数被传引用调用(called by reference))
  • 其他:实参的值拷贝后赋给形参,形参和实参是两个相对独立的对象(值传递(passed by value)或函数被传值调用(called by value))
熟悉C的程序员常常使用指针类型的形参访问函数外部的对象,但在C++语言中,建议使用引用类型的形参替代指针 [4]

使用引用传参的优点:

  1. 避免拷贝
  2. 返回额外信息

参考

  1. ^abhttp://www.xuetangx.com/courses/course-v1:TsinghuaX+00740043X_2015_T2+sp/pdfbook/0/
  2. ^http://www.xuetangx.com/courses/course-v1:TsinghuaX+00740043X_2015_T2+sp/courseware/e10b913bad0548cabe292da7b4818523/686fab8a8dad41afb00bc176cef6ec1e/
  3. ^http://www.xuetangx.com/courses/course-v1:TsinghuaX+00740043X_2015_T2+sp/courseware/e10b913bad0548cabe292da7b4818523/5593efc744144b638892389615b97f73/
  4. ^斯坦利·李普曼,约瑟·拉乔伊,芭芭拉·默,等. C++ Primer中文版:第5版[M]. 北京: 电子工业出版社, 2013: 188.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值