Possible Duplicate:
What are the differences between pointer variable and reference variable in C++?
Are there benefits of passing by pointer over passing by reference in C++?paso por el puntero y Pasar por referencia
En ambos casos, que logra el resultado. Entonces, ¿cuándo se prefiere uno sobre el otro? ¿Cuáles son las razones por las que usamos una sobre la otra?
#include <iostream>
using namespace std;
void swap(int* x, int* y)
{
int z = *x;
*x=*y;
*y=z;
}
void swap(int& x, int& y)
{
int z = x;
x=y;
y=z;
}
int main()
{
int a = 45;
int b = 35;
cout<<"Before Swap\n";
cout<<"a="<<a<<" b="<<b<<"\n";
swap(&a,&b);
cout<<"After Swap with pass by pointer\n";
cout<<"a="<<a<<" b="<<b<<"\n";
swap(a,b);
cout<<"After Swap with pass by reference\n";
cout<<"a="<<a<<" b="<<b<<"\n";
}
salida
Before Swap
a=45 b=35
After Swap with pass by pointer
a=35 b=45
After Swap with pass by reference
a=45 b=35
http://stackoverflow.com/questions/114180/pointer-vs-reference –
[¿Hay ventajas de pasar por el puntero sobre pasar por referencia en C++?] (Http://stackoverflow.com/q/334856/ 187543) – cpx