【发布时间】:2012-07-17 14:19:20
【问题描述】:
下面的代码有什么不同:-
int a;
int *p;
p=&a;
function(p);
和
int a;
function(&a);
我正在读一本书,他们有时使用第一个代码,有时使用另一个代码。虽然它不是一本好书(由当地作者撰写)。
两种代码的工作方式是否相同或有什么不同?
在效率方面也有什么区别吗?有那么重要吗?
谢谢
【问题讨论】:
-
这里没有引用(除非你有一个指针的引用),但是如果你不能添加它们,使用第二个。至少,在处理这种情况时,我从来不需要使用第一个。
-
您的代码中没有引用。在这两种情况下,您都是通过指针传递的。因为这个原因没有区别。如果您打算询问有关参考的问题,请查看您的问题。
-
抱歉错了,那么引用传递是什么意思?
-
@Aditya,常见问题解答:stackoverflow.com/questions/57483/…
-
stackoverflow.com/questions/7058339/… 这是何时使用的常见问题解答