Вперед Зміст

Посилання

Ми звикли, що кожна змінна – це окреме незалежне значення. Змінюючи b, ми не змінюємо a

Наприклад,


  int a=5, b=2;
  cout<<a<<"  "<<b<<endl;
  b=b*10;
  cout<<a<<"  "<<b<<endl;

Результат:


 5 2
 5 20

Можна зробити так, щоб дві змінні з різними іменами мали однакові адреси. Наприклад,


  int a=5;
  cout<<"адреса a= "<<&a<<endl;
  cout<<"значення a= "<<a<<endl;
  int &b=a; //змінна b має ту саму адресу, що і а
  cout<<"адреса b= "<<&b<<endl;
  cout<<"значення b= "<<b<<endl; 

Результат:


 адреса a= 0x6dfee8
 значення за адресою a= 5
 адреса b= 0x6dfee8
 значення за адресою b= 5

Тепер, змінюючи значення однієї змінної, ми змінимо і значення другої. Наприклад,


 int a=5;
 int &b=a; //змінна b має ту саму адресу, що і а
 b=b*10;
 cout<<"значення a= "<<a<<endl;
 cout<<"значення b= "<<b<<endl; 

Результат:


 значення a= 50
 значення b= 50 

Тобто, посилання це така змінна, яка має інше ім'я, але адресу таку саму, як і інша змінна


 int a=5;
 //змінна b має ту саму адресу і значення, як і змінна а  
 int &b=a; 

Вперед Зміст