Reassigning a reference : reference « Data Types « C++ Tutorial






#include <iostream>
 using namespace std; 
 
 int main()
 {
     int  intValue;
     int &intReference = intValue;
 
     intValue = 5;
     cout << "intValue:\t" << intValue << endl;
     cout << "intReference:\t" << intReference << endl;
     cout << "&intValue:\t"  << &intValue << endl;
     cout << "&intReference:\t" << &intReference << endl;
 
     int intTwo = 8;
     intReference = intTwo;  // not what you think!
     cout << "\nintValue:\t" << intValue << endl;
     cout << "intTwo:\t" << intTwo << endl;
     cout << "intReference:\t" << intReference << endl;
     cout << "&intValue:\t"  << &intValue << endl;
     cout << "&intTwo:\t"  << &intTwo << endl;
     cout << "&intReference:\t" << &intReference << endl;
     return 0;
 }
intValue:       5
intReference:   5
&intValue:      0x22ff74
&intReference:  0x22ff74

intValue:       8
intTwo: 8
intReference:   8
&intValue:      0x22ff74
&intTwo:        0x22ff6c
&intReference:  0x22ff74








2.32.reference
2.32.1.Creating and Using References
2.32.2.Use References operator &
2.32.3.References must be initialized
2.32.4.Change reference value
2.32.5.Reassigning a reference
2.32.6.Returning a reference
2.32.7.Assign value to a reference-return
2.32.8.Return a reference to an array element.
2.32.9.Use an independent reference.
2.32.10.class for counted reference semantics
2.32.11.Use reference to swap value
2.32.12.constant references
2.32.13.Use reference as a return type