什么时候用指针形参?什么时候用引用形参?

C/C++语言中,函数传递参数的值而不是地址,参数内部对形参的操作不会修改对应的函数外实参的值。如果希望改变实参的值,可以使用指针形参(如intfun(int*pi))或... C/C++语言中,函数传递参数的值而不是地址,参数内部对形参的操作不会修改对应的函数外实参的值。如果希望改变实参的值,可以使用指针形参(如 int fun(int *pi))或引用形参(如int fun( int &ri ))。那么,这两种形参有什么区别,各有什么优缺点呢? 展开
 我来答
xiangjuan314
2016-04-13 · TA获得超过3.3万个赞
知道大有可为答主
回答量:2.9万
采纳率:0%
帮助的人:2874万
展开全部
标准 C 中是没有引用形参的,只能使用指针形参。
C++ 引入指针形参是为了降低指针灵活性带来的风险,指针形参不仅可以将数据的引用传入函数,还可以在函数内改变这个指针,也就是说在函帆行改数内部可以改变调用域的变量态判(而不仅仅是对象)。
相比起引用,指针有这些特点:
指针变量可以被重复赋值或更改(引用则不行,一经赋值不能再改)
指针变量可以为空(引用必须指向具体对象)
如果你用不到这些特性反而觉得它们会带来麻烦,而且可以接受非 Pure C(例如不需要支持 Objective-C 等其他 C 的超集),那么就用引用参数吧,甚至还可以在需要的情况下加 const 进一步约束。带滚
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0fd201c8772
2016-04-13 · TA获得超过105个赞
知道答主
回答量:104
采纳率:0%
帮助的人:117万
展开全部
看个人的爱好风格
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式