우선 레퍼런스를 알아 보기 전에 변수에 대해서 간단히 알아 봅시다. 
1. 변수 (Variable)  

   :  변수란 메모리 공간에 붙은 이름 이라고 할 수 있습니다. C에서는 하나의 메모리 공간에 하나의 이름만을 가지고 있었는데, C++에서는 하나의 메모리 공간에 둘이상의 이름을 붙여 줄 수 있죠. 그것이 바로 레퍼런스입니다. 


2. 레퍼런스  

 : 이름을 지니는 대상에 별명을 붙여주는 행위. 아래와 같이 사용합니다. 

  1. int main()   
  2. {   
  3.     int val =10;   
  4.     int *pVal = &val; //주소 값을 얻기 위해 & 연산자 사용의 예   
  5.     int &Val = val; //레퍼런스 선언을 위한 &연산자 사용   
  6.   
  7.     return 0;   
  8. }  

 '&' 연산자를 이용해 마음대로 변수에다가 별명을 붙여 줄 수 있는데요. 아래 예제를 보시죠.
  1. #include <iostream>   
  2. using namespace std;   
  3.   
  4. int main()   
  5. {   
  6.     int val =10;   
  7.     int &AAA = val; //레퍼런스 선언을 위한 &연산자 사용   
  8.     AAA = 20;   
  9.   
  10.     cout<< "val value is  : "<<val <<endl;   
  11.     cout<< "AAA value is  : "<<AAA <<endl;   
  12.   
  13.     val = 40;   
  14.   
  15.     cout<< "val value is  : "<<val <<endl;   
  16.     cout<< "AAA value is  : "<<AAA <<endl;       
  17.   
  18.     return 0;   
  19. }  
 아래 예제를 실행한 결과 입니다. 

 레퍼런스를 이용한 변수의 값을 변경하여도 어차피 AAA나 val은 같은 메모리 공간을 가지고 있기 때문에 위와 같은 출력 결과를 출력하는 것을 알 수 있습니다. 
Posted by 모과이IT
,