I have this code:
#include <iostream>    
using namespace std;    
int & squareRef(int );    
int main() {  
   int number1 = 8;    
   cout <<  "In main() &number1: " << &number1 << endl;     
   int & result = squareRef(number1);   
   // cout <<  "In main() &result: " << &result << endl;    
   cout << result << endl;   
   cout << result << endl;   
   cout << number1 << endl;
}    
int & squareRef(int  rNumber) {   
   cout <<  "In squareRef(): " << &rNumber << endl;      
   rNumber *= rNumber;    
   return rNumber;    
}   
The program produces the following output:
In main() &number1: 0x28ff08    
In squareRef(): 0x28fef0    
64    
1875681984      
8    
Can anyone please explain why the two "results" are different , is that suppose to be same isn't ?
 
    