Reference variable and aliasing

Aug 28, 2018

A reference variable is an alternative name or alias for the variable. A reference variable holds the reference of the already defined variable. That means it refers to the same variable that existed already,  and the changes on either of the varibale affects the both.

Syntax :

data_type &reference_name = variable_name;

for example,

int mynum = 10;

int &ref_mynum = mynum;

cout<<"mynum = "<<mynum<<endl;

cout<<"ref_mynum ="<<ref_mynum<<endl;

In above example both the statements prints same output, and is 10, since the ref_mynum is the reference to the variable mynym.

Let's see some scenarios.

int x = 10;

int &ref_x = x; //okey, initialized

int &ref_x; //not okey, error because not initialized

extern int &ref_x; //okey, ref_x is initialized somewhere else

 

  • reference variable can not be changed after initialization.
  • reference variable is equivalent to constant pointer, with constant pointer dereference is required; but not for reference variable.
  • reference variable can not be initialized with contant.

 

Simple Example:

#include<iostream>
using namespace std;
int main()
{
int var = 10;
int &ref_var = var; //reference variable
cout<<"var = "<<var<<endl;
cout<<"ref_var = "<<ref_var<<endl;
//the above statement prints same output 10
ref_var--;
cout<<"var = "<<var<<endl;
cout<<"ref_var = "<<ref_var<<endl;
//again the above statement prints same output i.e. 9
return 0;
}

Related


Tools/Apps





© Nepal Exchange Rates