What is the difference between a function passing by reference and a function passing the variable and return it to the original variable. It seems to do the same?
#include <iostream>
usingnamespace std;
void passByValue(int var);
void passByRef(int *var);
int passAndReturn(int var);
int main(){
int a = 13;
int b = 13;
cout << a << endl;
cout << b << endl <<endl;
passByValue(a);
passByRef(&b);
cout << a << endl;
cout << b << endl;
int c = 14;
cout << c << endl;
cout << &c << endl;
c = passAndReturn(c);
cout << c << endl;
cout << &c << endl;
}
//pass by value //pass a copy of variable
void passByValue(int var){
var = 99;
}
//pass by reference //pass in variable 's address, direct access
void passByRef(int *var){
*var = 66; //change original value
}
int passAndReturn(int var){
var = 1;
return var;
}