第1个回答 2016-04-13
标准 C 中是没有引用形参的,只能使用指针形参。
C++ 引入指针形参是为了降低指针灵活性带来的风险,指针形参不仅可以将数据的引用传入函数,还可以在函数内改变这个指针,也就是说在函数内部可以改变调用域的变量(而不仅仅是对象)。
相比起引用,指针有这些特点:
指针变量可以被重复赋值或更改(引用则不行,一经赋值不能再改)
指针变量可以为空(引用必须指向具体对象)
如果你用不到这些特性反而觉得它们会带来麻烦,而且可以接受非 Pure C(例如不需要支持 Objective-C 等其他 C 的超集),那么就用引用参数吧,甚至还可以在需要的情况下加 const 进一步约束。本回答被网友采纳