按照我来看是没有区别的。
如下我编译了三段代码。
int add1(int a)
{
return a+1;
}
int add2(int *p)
{
return *p+1;
}
int add3(int &a)
{
return a+1;
}
以下调用。我再去看汇编
int s1=2;
int s2=3;
int s3=4;
add1(s1);
add2(&s2);
add3(s3);
PUSH 2
CALL ConstTes.00401000
LEA EAX,DWORD PTR SS:[EBP-4]
PUSH EAX
CALL ConstTes.00401010
LEA ECX,DWORD PTR SS:[EBP-8]
PUSH ECX
CALL ConstTes.00401010
ADD ESP,0C
明显add2和add3都是调用的同一个函数,因此。
引用调用和指针调是没有有区别的。只是写法不同而已