问题描述
|
这个问题已经在这里有了答案:
解决方法
两种版本执行相同的工作,很可能编译器将发出相同的目标代码。
使用参考参数的版本更容易阅读。
您可以将NULL指针传递给使用指针的版本,这会导致内存冲突。使用参考参数不能犯同样的错误。
,“ 0”表示您正在通过引用传递参数。您传递的变量与您在函数中操作的变量完全相同。实际上,使用指针或引用之间没有显着差异,因为当您传递指针然后取消引用时,您将再次获得完全相同的变量。综上所述:在两种情况下,都可以修改传递的变量。相反,当您传递变量值时。
,在这两种情况下,您都是通过引用传递变量。在第一个函数中,您可以从概念上考虑要传递的地址。不过,在第二个示例中,我从概念上考虑了变量本身正在传递,但是是通过引用而不是通过值传递的。
我不确定100%,但是我怀疑在大多数编译器中它们会编译为相同的目标代码。