功能定义中与“&”运算符有关的疑问! [重复]

问题描述

|                                                                                                                   这个问题已经在这里有了答案:                                                      

解决方法

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...